多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 數(shù)據(jù)庫 > 數(shù)據(jù)庫應(yīng)用 > Hibernate注解-類級(jí)別注解

Hibernate注解-類級(jí)別注解

來源:程序員人生   發(fā)布時(shí)間:2016-07-07 19:01:29 閱讀次數(shù):3001次

Hibenate注解

     使用注解的目的:為了簡化繁瑣的ORM映照文件(*.hbm)的配置
     JPA 全程Java Persistence API
     JPA注解是JAVAEE的規(guī)范和標(biāo)準(zhǔn)
     JPA與Hibernate的關(guān)系:JPA是標(biāo)準(zhǔn)接口,Hibernate是實(shí)現(xiàn),但是其功能是JPA的超集
     Hibernate通過hibernate-annotation、hibernate-entitymanager和hibernate-core3個(gè)組件來實(shí)現(xiàn)與JPA的關(guān)系

     1般在實(shí)際的開發(fā)進(jìn)程中,優(yōu)先斟酌使用JPA注解,這樣更有益于程序的移植和擴(kuò)大。

Hibernate注解分類

      類級(jí)別注解

      屬性級(jí)別注解

      映照關(guān)系注解

類級(jí)別注解

      @Entity

           映照實(shí)體類
  @Entity(name="tableName")
  name:可選,對(duì)應(yīng)數(shù)據(jù)庫中的1個(gè)表。若表名與實(shí)體類名相同,則可以省略
  注意:使用@Entity時(shí)必須指定實(shí)體類的主鍵屬性

     @Table

                    @Table(name="",catalog="",schema="")
  @Entity配合使用,只能標(biāo)注在實(shí)體的class定義處,表示實(shí)體對(duì)應(yīng)的數(shù)據(jù)庫表的信息。
  name:可選,映照表的名稱,默許表名和實(shí)體名稱1致,只有在不1致的情況下才需要指定表名。
  catalog 可選,表示Catalog名稱,默許為Catalog("")
  schema - 可選,表示Schema名稱,默許為Schema("").
  從實(shí)現(xiàn)的角度看,各種數(shù)據(jù)庫系統(tǒng)對(duì)Catalog和Schema的支持和實(shí)現(xiàn)方式千差萬別

       @Embeddable

                    @Embeddable表示1個(gè)非Entity類可以嵌入到另外一個(gè)Entity類中作為屬性而存在。
       實(shí)例:
           導(dǎo)入所需的包,以下,
                
         hibernate.cfg.xml中的配置,
                
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration⑶.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> <mapping class="com.entity.Students"/> </session-factory> </hibernate-configuration>

            學(xué)生實(shí)體類:
        
package com.entity; import javax.persistence.Entity;//JPA注解 import javax.persistence.Id; import javax.persistence.Table; /* * 學(xué)生實(shí)體類 */ //@Entity// //@Entity(name="t_students")//如果不添加名字,則默許與實(shí)體類名字相同,如果想要自行設(shè)置表明,就需要自己進(jìn)行添加 @Entity @Table(name="t_students1",schema="mypage") public class Students { private String sid; //學(xué)號(hào) private String sname;//姓名 private String gender;//性別 private String birthday;//誕生日期 private String major;//專業(yè) private Address add; public Students(){ } public Students(String sid, String sname, String gender, String birthday, String major,Address add) { // super(); this.sid = sid; this.sname = sname; this.gender = gender; this.birthday = birthday; this.major = major; this.add = add; } @Id public String getSid() { return sid; } public void setSid(String sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getBirthday() { return birthday; } public void setBirthday(String birthday) { this.birthday = birthday; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public Address getAdd() { return add; } public void setAdd(Address add) { this.add = add; } }

        地址類:
           
package com.entity; import javax.persistence.Embeddable; // 地址類 @Embeddable //表示是1個(gè)嵌入類,這個(gè)類的對(duì)象在另外一個(gè)實(shí)體類中充當(dāng)屬性 public class Address { private String postCode;//郵編 private String address;//地址 private String phone;//聯(lián)系電話 public Address(){ } public String getPostCode() { return postCode; } public void setPostCode(String postCode) { this.postCode = postCode; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } } 測試類: package com.entity; import java.util.EnumSet; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.junit.Test; public class TestStudents { @Test public void testShemaExport(){ //創(chuàng)建hibernate配置對(duì)象 Configuration config = new Configuration().configure(); //創(chuàng)建服務(wù)注冊(cè)對(duì)象 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry(); //生成SessionFactory SessionFactory sessionFactory = config.buildSessionFactory(serviceRegistry); SchemaExport export = new SchemaExport(config); export.create(true,true); } }

       
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 午夜免费在线观看 | 性国产videofree另类 | 乱码亚洲一区二区三区 | 国产h视频免费观看 | 国产成人毛片 | 欧美精品一区二区三区久久 | 中国毛片免费观看 | 国产精品久久久久久久久久直 | 在线欧美69v免费观看视频 | 三级成人做爰视频 | 一区二区三区在线观看视频 | 欧美精品第一页 | 国产在线观看第一页 | 亚洲高清在线观看播放 | 国产成人亚洲精品 | 中文字幕无线 | 中文字幕视频二区 | 黄色小说校园春色 | 中文字幕在线资源 | 天天久| 手机看片国产精品 | 免费jizz在线播放视频 | 亚洲美女视频 | 亚洲丶国产丶欧美一区二区三区 | 高清在线亚洲精品国产二区 | 亚洲精品国产成人一区二区 | 天天看毛片| 欧美人在线 | 午夜写真福利视频在线观看 | 手机在线看片福利盒子 | 日本欧美在线播放 | 97av在线视频 | 中文字幕在线第一页 | 一级毛片a免费播放王色 | 黄色大片aa | 欧美久久综合网 | 亚洲精品国产精品国自产 | 波多野一区| 日本大胆欧美艺术337p | 热灸灸这里只有精品 | 精品国产欧美一区二区最新 |