非識別符列的Hibernate JPA 序列
問題:
是否利用資料庫序列為未指定為識別符或組件的表列產生值使用Hibernate JPA的複合標識符?
答案:
Hibernate JPA 不支援未指定為識別碼的屬性的自動值產生。 @GenerateValue 註解專門與 @Id 結合使用來建立自動遞增值。
解決方法:
要規避此限制,請考慮創建一個單獨的實體生成的標識符,例如:
@Entity public class GeneralSequenceNumber { @Id @GeneratedValue(...) private Long number; } @Entity public class MyEntity { @Id .. private Long id; @OneToOne(...) private GeneralSequnceNumber myVal; }
這種方法涉及在主實體和實體之間建立一對一的關係序列實體。透過利用這個單獨的實體,Hibernate 可以產生唯一的序列值,該值可以指派給主實體中所需的屬性。
以上是Hibernate JPA 可以對非 ID 欄位使用序列嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!