Hibernate之---实体映射
2007-08-25 21:12
162 查看
此示例使用myeclipse5.5+Sql 2000数据库
数据库脚本:
hibernate.cfg.xml
Person.hbm.xml
Person.java
Name.java
Contact.java
PersonDAO.java
TestPerson.java
数据库脚本:
CREATE TABLE person ( id int NOT NULL PRIMARY KEY , firstname varchar (20) NOT NULL, lastname varchar (20) NOT NULL , address varchar (20) NOT NULL , zipcode varchar (6) NOT NULL , tel varchar (20) )
hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <property name="connection.username">sa</property> <property name="connection.url"> jdbc:microsoft:sqlserver://localhost:1433 </property> <property name="dialect"> org.hibernate.dialect.SQLServerDialect </property> <property name="myeclipse.connection.profile">mysql2000</property> <property name="connection.password">sa</property> <property name="connection.driver_class"> com.microsoft.jdbc.sqlserver.SQLServerDriver </property> <property name="show_sql">true</property> <mapping resource="org/myhibernate/demo01/Person.hbm.xml" /> </session-factory> </hibernate-configuration>
Person.hbm.xml
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Mapping file autogenerated by MyEclipse Persistence Tools --> <hibernate-mapping> <class name="org.myhibernate.demo01.Person" table="person" schema="dbo" catalog="mldn"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="assigned" /> </id> <component name="name" class="org.myhibernate.demo01.Name"> <property name="firstname" type="java.lang.String"> <column name="firstname" length="20" not-null="true" /> </property> <property name="lastname" type="java.lang.String"> <column name="lastname" length="20" not-null="true" /> </property> </component> <component name="contact" class="org.myhibernate.demo01.Contact"> <property name="address" type="java.lang.String"> <column name="address" length="20" not-null="true" /> </property> <property name="zipcode" type="java.lang.String"> <column name="zipcode" length="6" not-null="true" /> </property> <property name="tel" type="java.lang.String"> <column name="tel" length="20" /> </property> </component> </class> </hibernate-mapping>
Person.java
package org.myhibernate.demo01; public class Person { private int id; private Name name; private Contact contact; // Getter/Setter方法 }
Name.java
package org.myhibernate.demo01; public class Name { private String firstname; private String lastname; // Getter/Setter方法 }
Contact.java
package org.myhibernate.demo01; public class Contact { private String address; private String zipcode; private String tel; // Getter/Setter方法 }
PersonDAO.java
package org.myhibernate.demo01; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class PersonDAO { private Session session; public PersonDAO() { Configuration config = new Configuration().configure(); SessionFactory factory = config.buildSessionFactory(); this.session = factory.openSession(); } public void insert(Person p){ this.session.save(p); this.session.beginTransaction().commit(); } }
TestPerson.java
package org.myhibernate.demo01; public class TestPerson { public static void main(String[] args) { Person p = new Person(); PersonDAO pdao = new PersonDAO(); Name name = new Name(); Contact contact = new Contact(); name.setFirstname("胡"); name.setLastname("千好"); contact.setAddress("云南宣威"); contact.setTel("13888888888"); contact.setZipcode("655408"); p.setId(1); p.setContact(contact); p.setName(name); pdao.insert(p); } }
相关文章推荐
- Hibernate实体映射笔记
- Hibernate实体映射笔记
- 详解hibernate实体映射文件
- Hibernate实体关系映射—Annotation
- Hibernate的实体映射
- 4、Hibernate 实体关系映射(二、单边多对一关系 注解、xml两种方式)
- Hibernate处理一个实体映射多张相同结构的数据表--动态映射
- Hibernate实体映射
- Hibernate实体关系映射——双边的多对一、一对多关系
- hibernate实体关系映射——单边的多对多关系
- Hibernate实体映射
- Hibernate 映射实体关联关系(二)
- Hibernate实体映射浅谈
- hibernate多对多实体映射
- hibernate查询结果映射到实体和map的方法
- Hibernate实体关系映射—Annotation
- hibernate中一对多映射(set集合中存放的原生数据类型,而不是实体)
- Hibernate实体映射文件多对多等关系简单应用技巧
- Hibernate高级实体关联映射之多值的实体关联(一对多关联,使用set)
- Hibernate高级实体关联映射之多值的实体关联(一对多关联,利用联结表,idbag例)