與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將其添加到稍後遇到此問題的任何人。