【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(加注解的實體類)
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实体关系映射实例解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【大话Hibernate】Hiberna
- 下一篇: 【Hibernate】Hibernate