【发布时间】:2020-07-05 11:32:35
【问题描述】:
我有一对多的关系,如下所述:
@Entity
@Table(name = "some")
data class SomeEntity(
val otherId: UUID,
@Column(nullable = false)
val number: String = "12345",
) {
@Id
@Column(updatable = false, nullable = false, unique = true)
val id: UUID = UUID.randomUUID()
}
@Entity
@Table(name = "other")
data class OtherEntity(
@Id
@Column(updatable = false, nullable = false)
val id: UUID = UUID.randomUUID(),
)
我不需要指定它们是@OneToMany 还是@JoinColumn 注释。
通过这个结构,我可以保存一个新的OtherEntity,然后我可以通过传递之前返回的id来保存一个新的SomeEntity
val ent1 = OtherEntity()
val savedEnt1 = otherRepository.save(ent1)
val ent2 = SomeEntity(savedEnt1.id, "123")
val savedEnt2 = someRepository.save(ent2)
我想要实现的是能够从 SomeEntity 对象中检索 OtherEntity 对象。
val other: OtherEntity = ent2.other
如果我只是在构造函数中添加整个实体,则每次要保存一个新的SomeEntity时都必须传递整个SomeEntity
如何在构造函数中不包含 OtherEntity 的引用?
【问题讨论】:
标签: hibernate spring-boot kotlin spring-data-jpa