當你創建一個像
@Id
@GeneratedValue(generator = "increment")
private Long Id;
發電機場的作用是什么?發電機是什么意思?
并且 JPA 的任何實作是否應該為所有型別的生成器提供:示例生成器 =“增量”?
uj5u.com熱心網友回復:
這是一種創建唯一 ID 的方法。不同的資料庫提供了不同的方式來創建唯一的 id。換句話說,當保存新行時,Hibernate/JPA 將自動在該欄位上放置一個值。例如mysql提供自增列(strategy=identity),而oracle提供序列(strategy=identity)。
如果資料庫不提供上述任何功能,則該策略table使用由 JPA 創建的表,該表用于以安全的方式創建唯一的、單調遞增的數字,代價是對資料庫進行額外查詢。
Hibernate關于這個主題的檔案真的非常好,值得一讀……而且 Hibernate 比 JPA 有更多的特性,這些特性很不錯。
uj5u.com熱心網友回復:
它在檔案中說:https : //docs.oracle.com/javaee/6/api/javax/persistence/GeneratedValue.html#generator()
生成器欄位是您指定的位置:在 SequenceGenerator 或 TableGenerator 注釋中指定的要使用的主鍵生成器的名稱。
但是在我給出的示例(增量)中,不僅如此,您還可以使用該欄位來指定其中一個不屬于 JPA 的休眠生成器。
增量就是其中之一。如果你想了解更多關于它們的資訊,請看這里:https : //docs.jboss.org/hibernate/orm/4.3/manual/en-US/html_single/#d5e2614
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/341626.html
