вот моя структура БД:
details
id, information_id
information
id, name
Вот моя информация сущность:
@Entity
@Table(name = "information")
data class Information(
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
val id: Long? = 0,
val name: String,
@OneToOne(cascade = arrayOf(CascadeType.ALL), mappedBy = "information")
val details: Detials? = null
)
А вот Подробности :
@Entity
@Table(name = "details")
data class Details(
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
val id: Long? = null,
val additionalData: String,
@OneToOne
@JoinColumn(name = "information_id", referencedColumnName = "id")
var information: Information? = null
)
И когда я сохраняю только что созданный Информация Я хочу сохранить идентификатор этого объекта в details.information_id - сейчас он не работает и details.information_id равно нулю.
Я пропустил какой-либо дополнительный параметр аннотации?Или мои отношения разорваны?Сначала я могу сохранить Информация , затем получить его идентификатор, а затем выполнить обновление до Подробно , но это не то, что я хочу.
РЕДАКТИРОВАТЬ: я создаю Информация вот так:
val information = Information(
name = "XXXX",
details = Details(additionalData = "YYYY)
)
, а затем
dao.save(information)