此示例使用myeclipse5.5+Sql 2000数据库

数据库脚本:

  1. CREATE TABLE person (  
  2. id int NOT NULL PRIMARY KEY ,  
  3. firstname varchar (20) NOT NULL,  
  4. lastname varchar (20) NOT NULL ,  
  5. address varchar (20) NOT NULL ,  
  6. zipcode varchar (6) NOT NULL ,  
  7. tel varchar (20)  

hibernate.cfg.xml

  1. <?xml version='1.0' encoding='UTF-8'?>  
  2. <!DOCTYPE hibernate-configuration PUBLIC 
  3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
  4. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
  5.  
  6. <!-- Generated by MyEclipse Hibernate Tools. -->  
  7. <hibernate-configuration>  
  8.  
  9. <session-factory>  
  10. <property name="connection.username">sa</property>  
  11. <property name="connection.url">  
  12. jdbc:microsoft:sqlserver://localhost:1433  
  13. </property>  
  14. <property name="dialect">  
  15. org.hibernate.dialect.SQLServerDialect  
  16. </property>  
  17. <property name="myeclipse.connection.profile">mysql2000</property>  
  18. <property name="connection.password">sa</property>  
  19. <property name="connection.driver_class">  
  20. com.microsoft.jdbc.sqlserver.SQLServerDriver  
  21. </property>  
  22. <property name="show_sql">true</property>  
  23. <mapping resource="org/myhibernate/demo01/Person.hbm.xml" />  
  24. </session-factory>  
  25. </hibernate-configuration> 

Person.hbm.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  4. <!--   
  5. Mapping file autogenerated by MyEclipse Persistence Tools  
  6. -->  
  7. <hibernate-mapping>  
  8. <class name="org.myhibernate.demo01.Person" table="person" 
  9. schema="dbo" catalog="mldn">  
  10. <id name="id" type="java.lang.Integer">  
  11. <column name="id" />  
  12. <generator class="assigned" />  
  13. </id>  
  14. <component name="name" class="org.myhibernate.demo01.Name">  
  15. <property name="firstname" type="java.lang.String">  
  16. <column name="firstname" length="20" not-null="true" />  
  17. </property>  
  18. <property name="lastname" type="java.lang.String">  
  19. <column name="lastname" length="20" not-null="true" />  
  20. </property>  
  21. </component>  
  22. <component name="contact" 
  23. class="org.myhibernate.demo01.Contact">  
  24. <property name="address" type="java.lang.String">  
  25. <column name="address" length="20" not-null="true" />  
  26. </property>  
  27. <property name="zipcode" type="java.lang.String">  
  28. <column name="zipcode" length="6" not-null="true" />  
  29. </property>  
  30. <property name="tel" type="java.lang.String">  
  31. <column name="tel" length="20" />  
  32. </property>  
  33. </component>  
  34. </class>  
  35. </hibernate-mapping> 

Person.java

  1. package org.myhibernate.demo01;  
  2.  
  3. public class Person {  
  4.  
  5. private int id;  
  6. private Name name;  
  7. private Contact contact;  
  8. // Getter/Setter方法  

Name.java

  1. package org.myhibernate.demo01;  
  2. public class Name {  
  3. private String firstname;  
  4. private String lastname;  
  5. // Getter/Setter方法  

Contact.java

  1. package org.myhibernate.demo01;  
  2. public class Contact {  
  3. private String address;  
  4. private String zipcode;  
  5. private String tel;  
  6. // Getter/Setter方法  

PersonDAO.java

  1. package org.myhibernate.demo01;  
  2.  
  3. import org.hibernate.Session;  
  4. import org.hibernate.SessionFactory;  
  5. import org.hibernate.cfg.Configuration;  
  6.  
  7. public class PersonDAO {  
  8.  
  9. private Session session;  
  10.  
  11. public PersonDAO() {  
  12. Configuration config = new Configuration().configure();  
  13. SessionFactory factory = config.buildSessionFactory();  
  14. this.session = factory.openSession();  
  15. }  
  16.  
  17. public void insert(Person p){  
  18. this.session.save(p);  
  19. this.session.beginTransaction().commit();  
  20. }  

TestPerson.java

  1. package org.myhibernate.demo01;  
  2.  
  3. public class TestPerson {  
  4. public static void main(String[] args) {  
  5. Person p = new Person();  
  6. PersonDAO pdao = new PersonDAO();  
  7. Name name = new Name();  
  8. Contact contact = new Contact();  
  9.  
  10. name.setFirstname("胡");  
  11. name.setLastname("千好");  
  12.  
  13. contact.setAddress("云南宣威");  
  14. contact.setTel("13888888888");  
  15. contact.setZipcode("655408");  
  16.  
  17. p.setId(1);  
  18. p.setContact(contact);  
  19. p.setName(name);  
  20.  
  21. pdao.insert(p);  
  22. }