日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Hibernate】Hibernate实体关系映射实例解析

發布時間:2024/4/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Hibernate】Hibernate实体关系映射实例解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

//劉夢冰發表于2015-6-18


1、使用XML配置

?

Cat.java(實體類)

?

public classCat {private Integerid;private Stringname;private Stringdescription;public Integer getId() {returnid;}public void setId(Integer id) {this.id =id;}public String getName() {returnname;}public void setName(String name) {this.name =name;}public String getDescription(){returndescription;}public void setDescription(String description) {this.description =description;}}

?

Cat.hbm.xml(作用:配置Hibernate中相應實體的映射)

?

<?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEhibernate-mapping PUBLIC"-//Hibernate/HibernateMapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!--Mapping file autogenerated by MyEclipse Persistence Tools --><!-- xml文件配置Hibernate實體映射 --><hibernate-mappingpackage="com.lmb.hibernate.bean"><!--實體類所在的包 --><!-- 實體類 --><classname="Cat"table="table_cat"><!-- name=""用來指定實體類, table=""用來指定數據庫表格 --><idname="id"column="id"type="java.lang.Integer"><!-- id主鍵 --><generatorclass="native"/><!--數據庫自動增長 --></id><propertyname="name"type="java.lang.String"><!-- 配置實體類變量--><columnname="name"length="20"/><!-- 數據庫的字段名和字段長度 --></property><propertyname="description"type="java.lang.String"><!-- 配置實體類變量--><columnname="description"length="50"/><!-- 數據庫的字段名和字段長度 --></property></class></hibernate-mapping>

?

代碼中的DOCTYPE指定的dtd文件位于hibernate.jar中。dtd文件為XML格式驗證文件,Hibernate使用該dtd來驗證該XML文件格式是否正確。如果hibernate.jar或者classpath中不存在該dtd文件,Hibernate會到指定的URL下載該文件。

在上述的映射文件中,<class>中的name表示實體類的路徑和名稱。table="”用來指定數據庫表格,<id>用來聲明表的主鍵,<id>中的屬性name="id"表示實體類的屬性id。數據庫對應的字段名放在<column>中,<column>中的name表示表中的字段名,<generator class=" " />表示數據庫表的主鍵類型,默認的類型是不自動增長類型,在<property>中映射表中的其他字段,<property>中的name屬性值表示實體類的屬性,type表示實體類屬性的類型。表字段的映射放在<column>中,name的值是字段名,length表示字段長度。

?

?

Hibernate.cfg.xml

?

<?xmlversion='1.0'encoding='UTF-8'?> <!DOCTYPEhibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse HibernateTools. --> <hibernate-configuration><session-factory><propertyname="dialect">org.hibernate.dialect.MySQLDialect</property><propertyname="connection.url">jdbc:mysql://localhost:3306/hibernate?characterEncoding=UTF-8</property><propertyname="connection.username">lmb</property><propertyname="connection.password">lmb</property><propertyname="connection.driver_class">com.mysql.jdbc.Driver</property><!--hibernate中聲明用XML配置的實體類 --><mapping resource="com/lmb/hibernate/bean/Cat.hbm.xml"/></session-factory></hibernate-configuration>



2、使用@注解配置


Cat.java(加注解的實體類)


<span style="color:#008080;">package com.lmb.hibernate.bean;import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table;</span><span style="color:#ff0000;">@Entity //注解Entity表述該類能被hibernate持久化 @Table(name="table_cat") //指定該Entity對應的數據表明</span><span style="color:#008080;"> public class Cat {</span><span style="color:#ff0000;">@Id //指定該列為主鍵@GeneratedValue(strategy=GenerationType.AUTO) //主鍵類型auto為數據庫自增長類型</span><span style="color:#008080;">private Integer id;</span><span style="color:#ff0000;">@Column(name="name") //指定屬性對應的數據庫表的列為"name"</span><span style="color:#008080;">private String name;</span><span style="color:#ff0000;">@Column(name="description") //指定屬性對應的數據庫表的列為"description"</span><span style="color:#008080;">private String description;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}} </span>
Hibernate.cfg.xml

<span style="color:#008080;"><?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration><session-factory><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="connection.url">jdbc:mysql://localhost:3306/hibernate?characterEncoding=UTF-8</property><property name="connection.username">lmb</property><property name="connection.password">lmb</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><!--hibernate中聲明用@注解配置的實體類 --><mapping class="com.lmb.bean.Cat"/> </session-factory></hibernate-configuration></span>

有關幾個配置文件的總結:

?

xxx.hbm.xml:配置Hibernate實體映射;

?

hibernate.cfg.xml:配置數據庫驅動,并聲明用XML文件或者@注解配置的實體類。



總結

以上是生活随笔為你收集整理的【Hibernate】Hibernate实体关系映射实例解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。