JPA註解詳解 二

2021-06-21 08:21:28 字數 1087 閱讀 5573

@transient

預設情況下,jpa 持續性提供程式假設實體的所有欄位均為持久字段。

使用 @transient 批註指定實體的非持久欄位或屬性,例如,乙個在執行時使用但並非實體狀態一部分的字段或屬性。

jpa 持續性提供程式不會對批註為 @transient 的屬性或字段持久儲存(或建立資料庫模式)。

該批註可以與 @entity

和 @embeddable

一起使用。

該批註沒有屬性。有關更多詳細資訊,請參閱 api

。示例 1-89 

顯示了如何使用此批註將 employee 字段 currentsession 指定為非持久字段。jpa 持續性提供程式將不持久儲存該欄位。

示例 1-89 @transient

@entitypublic class employee

@uniqueconstraint

預設情況下,jpa 持續性提供程式假設所有列均可以包含重複值。

使用 @uniqueconstraint 批註指定將在為主表或輔助表生成的 ddl 中包含乙個唯一約束。或者,您可以在列級別指定唯一約束(請參閱 @column

)。表 1-48 

列出了此批註的屬性。有關更多詳細資訊,請參閱 api

。表 1-48 @uniqueconstraint 屬性

屬性

必需

說明

columnnames

如果任何列均包含唯一約束,請將 columnnames 設定為 string 列名的陣列。

示例 1-90 

顯示了如何使用此批註對主表 emp 中的列 emp_id 和 emp_name 指定乙個唯一約束。

示例 1-90 使用唯一約束的 @table

@entity

@table(

name="emp",

uniqueconstraints=)}

public class employee implements serializable

JPA註解詳解二

transient 預設情況下,jpa 持續性提供程式假設實體的所有欄位均為持久字段。使用 transient 批註指定實體的非持久欄位或屬性,例如,乙個在執行時使用但並非實體狀態一部分的字段或屬性。jpa 持續性提供程式不會對批註為 transient 的屬性或字段持久儲存 或建立資料庫模式 該批...

JPA註解詳解三

columnresult 執行 namednativequery 時,它可以返回實體 包括不同型別的實體 標量值或實體和標量值的組合。使用 columnresult 批註返回標量值。標量型別由您在 columnresult 中標識的列型別確定。有關詳細資訊,另請參閱 entityresult fie...

JPA註解補充

fetchtype.lazy和 fetchtype.eager 什麼區別?1 fetchtype.lazy 懶載入,載入乙個實體時,定義懶載入的屬性不會馬上從資料庫中載入。2 fetchtype.eager 急載入,載入乙個實體時,定義急載入的屬性會立即從資料庫中載入。3 比方 user 類有兩個屬...