与Hibernate的外部id生成器相当的JPA是什么?什么是JPA等同于Hibernate的外部id生成器?
<id column="PERSON_ID" name="id" type="java.lang.Long">
<generator class="foreign">
<param name="property">person</param>
</generator>
</id>
与Hibernate的外部id生成器相当的JPA是什么?什么是JPA等同于Hibernate的外部id生成器?
<id column="PERSON_ID" name="id" type="java.lang.Long">
<generator class="foreign">
<param name="property">person</param>
</generator>
</id>
AFAIK,JPA规范没有标准化国外ID生成器。保存此实例之前,必须以编程方式正确设置PK值。
至于Hibernate,它有an extension annotation来启用foreign ID generator。您可以选择使用它,如果你不介意:
@Id
@GeneratedValue(generator = "myForeignGenerator")
@org.hibernate.annotations.GenericGenerator(
name = "myForeignGenerator",
strategy = "foreign",
parameters = @Parameter(name = "property", value = "person")
)
@Column(name = "PERSON_ID")
private Long id;
对于什么是值得JPA 2.0增加了可用于外键导入@MappedBy注解。从基督教的榜样和枯燥简单地起价陈启泰的:
@Id
@Column
private Long personId;
@ManyToOne
@JoinColumn(name = "personId")
@MapsId
private Person person;
我知道这个问题是来自前一段时间,但因为我解决同样的问题,当它两端绊倒,然后挖出@MappedBy
,我以为我” d将其添加到稍后遇到此问题的任何人。