JPA的Basic註解

在默認的情況下,Entity中的屬性加載方式都是即時加載(EAGER)的,當Entity對象實例化時,就加載了實體中相應的屬性值。

但對於一些特殊的屬性,比如長文本型text、字節流型blob型的數據,在加載Entity時,這些屬性對應的數據量比較大,有時創建實體時如果也加載的話,可能嚴重造成資源的佔用。要想解決這些問題,此時就需要設置實體屬性的加載方式爲惰性加載(LAZY)。

@Basic標記可以指定實體屬性的加載方式,它的定義如下所示。

Fetch屬性表示獲取值的方式,它的值是定義的枚舉類型,枚舉類型的定義如下。

有兩種加載方式,LAZYEAGERLAZY 表示即時加載、EAGER表示惰性加載。默認爲即時加載

 如果屬性不使用@Basic標記,屬性的加載方式爲默認的加載方式,例如不標註@Basic標記的屬性設置。

        

等價於:

         

   屬性optional表示屬性是否可爲null,不能用於Java基本數據類型byteintshortlongbooleancharfloatdouble的使用。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章