[轉] hibernate Mysql 自增長 註解配置,表無關聯的註解方式關聯查詢

來源:互聯網
上載者:User

標籤:

不同資料庫 自增長ID配置

正對不同的資料庫可以同時使用
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)


2 針對mysql
 @Id
 @GeneratedValue(strategy = GenerationType.IDENTITY)


3 針對oracle
       @Id
       @GeneratedValue(strategy = GenerationType.SEQUENCE,generator="s_gen")
       @SequenceGenerator(name="s_gen",sequenceName="s_seq")


無關聯表 關聯查詢配置

1、FetchType.LAZY:懶載入,載入一個實體時,定義懶載入的屬性不會馬上從資料庫中載入。2、FetchType.EAGER:急載入,載入一個實體時,定義急載入的屬性會立即從資料庫中載入。3、比方User類有兩個屬性,name跟address,就像百度知道,登入後使用者名稱是需要顯示出來的,此屬性用到的幾率極大,要馬上到資料庫查,用急載入;而使用者地址大多數情況下不需要顯示出來,只有在查看使用者資料是才需要顯示,需要用了才查資料庫,用懶載入就好了。所以,並不是一登入就把使用者的所有資料都載入到對象中,於是有了這兩種載入模式。

name 是當前實體 屬性   referencedColumnName 是與之關聯的實體 屬性

fetch=FetchType.LAZY)消極式載入關聯表 不要亂用 有時候要爆胎

  @ManyToOne(targetEntity=UnitOrganizations.class,fetch=FetchType.LAZY)

    @JoinColumn(name="org_Id",referencedColumnName="id",updatable=false,insertable=false)

  public UnitOrganizations getOrganizations() {

    return organizations;

    }


建議在一多對關聯中在"一"方用消極式載入"多"方

可以在HQL中顯式的"迫切左外串連" left join fetch
這樣做Hibernate可以少訪問資料庫,也可以用"@BatchSize(size = 5)"來減少訪問資料庫的次數

[轉] hibernate Mysql 自增長 註解配置,表無關聯的註解方式關聯查詢

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.