【发布时间】:2013-01-23 19:06:29
【问题描述】:
当一个表的主键列是另一个没有 auto_increment (MySQL) 的表的外键时,我该如何处理 Hibernate Annotation (JPA)。
谢谢。
【问题讨论】:
标签: java hibernate jpa annotations persistence
当一个表的主键列是另一个没有 auto_increment (MySQL) 的表的外键时,我该如何处理 Hibernate Annotation (JPA)。
谢谢。
【问题讨论】:
标签: java hibernate jpa annotations persistence
类似下面的东西应该可以工作(没有测试确切的语法,但应该很接近):
@Id
private int id;
@OneToOne
@JoinColumn(name = "id", updatable = false, insertable = false)
private RelationEntity other;
您需要在持久化之前手动设置“id”字段,并且不记得是否可以在初始保存之前设置“其他”实体,如果您这样做,休眠可能会抱怨。但是,如果设置了“id”列,那么当您重新加载实体时,您也应该加载关系。
【讨论】: