屬性級(jí)別注解
創(chuàng)新互聯(lián)公司2013年成立,先為蘿北等服務(wù)建站,蘿北等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為蘿北企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。添加方式:
寫在屬性字段上面
寫在屬性的get訪問器的上面
@Id
必須,定義了映射到數(shù)據(jù)庫表的主鍵的屬性,一個(gè)實(shí)體類可以有一個(gè)或者多個(gè)屬性被映射為主鍵,可置于主鍵屬性或者getXxx()前,注意:如果有多個(gè)屬性定義為主鍵屬性,該實(shí)體類必須實(shí)現(xiàn)serializable接口
@SequenceGenerator
@GeneratedValue
@GeneratedValue(strategy=GenerationType,generator=""):可選,用于定義主鍵生成策略
strategy表示主鍵生成策略,取值有:
GenerationType.AUTO:根據(jù)底層數(shù)據(jù)庫自動(dòng)選擇(默認(rèn))
GenerationType.INDENTITY:根據(jù)數(shù)據(jù)庫的Identity字段生成
GenerationType.SEQUENCE:使用Sequence來決定主鍵的取值
GenerationType.TABLE:使用指定表來決定主鍵取值,結(jié)合@TableGenerator使用
@Column
@Column-可將屬性映射到列,使用該注解來覆蓋默認(rèn)值,@Column描述了數(shù)據(jù)庫表中該字段的詳細(xì)定義,這對(duì)于根據(jù)JPA
注解生成數(shù)據(jù)庫表結(jié)構(gòu)的工具非常有作用。
常用屬性:
name:可選,表示數(shù)據(jù)庫表中該字段的名稱,默認(rèn)情形屬性名稱一致
nullable:可選,表示該字段是否允許為null,默認(rèn)為true
unique:可選,表示該字段是否為唯一標(biāo)識(shí),默認(rèn)為false
length:可選,表示該字段的大小,僅對(duì)String類型的字段有效,默認(rèn)值225,主鍵不能使用默認(rèn)值
insertable:可選,表示在ORM框架執(zhí)行插入操作時(shí),該字段是否應(yīng)出現(xiàn)INSERTRT語句中,默認(rèn)為true
updateable:可選,表示在ORM框架執(zhí)行更新操作時(shí),該字段是否應(yīng)該出現(xiàn)在UPDATE語句中,默認(rèn)為true。對(duì)于已經(jīng)創(chuàng)建
就不可以更改的字段,該屬性非常有用
@Embedded
@Embedded是注釋屬性的,表示該屬性的類是嵌入類。
注意:同時(shí)嵌入類也必須標(biāo)注@Embeddable注解
@EmbeddedId
@EmbeddedId使用嵌入式主鍵類實(shí)現(xiàn)復(fù)合主鍵
注意:嵌入式主鍵類必須實(shí)現(xiàn)Serializable接口、必須有默認(rèn)的public無參數(shù)的構(gòu)造方法、必須覆蓋equals和hashCode方法
@Lob
@Version
@Basic
@Transient
可選,表示該屬性并非一個(gè)到數(shù)據(jù)庫表的字段的映射,ORM框架將忽略該屬性,如果一個(gè)屬性并非數(shù)據(jù)庫表的字段映射,就
務(wù)必將其標(biāo)示為@Transient,否則ORM框架默認(rèn)其注解為@Basic
實(shí)例:
hibernate.properties配置:
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!-- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:///hibernate_struts_stumanager</property> --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mypage</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">root</property> <property name="hibernate.show_sql">false</property> <property name="hibernate.hbm2ddl.auto">create</property> <!-- <property name="hibernate_current_session_context_class">thread</property> --> <property name="current_session_context_class">thread</property> <mapping class="com.entity.Students"/> </session-factory> </hibernate-configuration>
當(dāng)前文章:hibernate屬性級(jí)別注解實(shí)例代碼-創(chuàng)新互聯(lián)
URL分享:http://jinyejixie.com/article10/hgpgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、標(biāo)簽優(yōu)化、軟件開發(fā)、App開發(fā)、小程序開發(fā)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容