程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Hibernate,hibernate官網

Hibernate,hibernate官網

編輯:JAVA綜合教程

Hibernate,hibernate官網


除了使用XML配置來映射對象和數據庫表,還可以使用注解來完成持久化。使用注解需要導入Hibernate Annotations擴展包

@Entity -加在類的前面,將類聲明為持久化類。

     -javax.Persistence.Entity :JPA的Entity,通用性好

     -org.hibernate.annotations.Entity :Hibernate的Entity,有Hibernate特有的功能,如dynamicUpdate, 可以作為JPAEntity的補充

@Table -加在類的前面,為類聲明關聯的表名。如果表名和類名相同,可以省略。

   @Table(name="t_name")

@Proxy -加在類的前面,修改類級的引索策略,默認是延遲加載 可以不寫

   @Proxy(lazy=false) -改為立即加載

 

 @Column -

 如果屬性名和對應的列名不同, 或者get/set方法對應的屬性名不是列名, 需要加在屬性前面,或者加在get/set方法前面。

@ID

 加在主鍵的屬性前面,或者加在get/set方法前面,補充屬性:

  @GeneratedValue -主鍵自增策略

            @GeneratedValue(Strategy=GenerationType.Auto)

             自定義SEQUENCE(ORALCE使用) 

             @GeneratedValue(Strategy=GenerationType.Sequence, generator="seq_name")         

             @SequenceGenerator(name="seq_name", sequenceName="SEQ_ID")//可以對序列生成的值進行調整

@Transcient -加在屬性前面,聲明該屬性不需要被持久化

@ManyToOne-多對一(外鍵)關聯屬性

      @ManyToOne(targetEntity=class_name.class) 

      @JoinColumn(name="c_name") 多對一對應的外鍵列名

 @OneToMany -一對多關聯屬性

       @OneToMany(targetEntity=class_name.class,mappedBy="property_name",cascade={CascadeType.ALL})     

        如果Set沒有加泛型,需要加targetEntity mappedBy是targetEntity中相關聯的屬性,並由它來維持外鍵關系

@ManyToMany -多對多      

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved