hibernate中组件映射

来源:互联网 发布:扫描软件排行 编辑:程序博客网 时间:2024/06/05 04:50
package model;public class Address {private String homeAddress;private String schoolAddress;public String getHomeAddress() {return homeAddress;}public void setHomeAddress(String homeAddress) {this.homeAddress = homeAddress;}public String getSchoolAddress() {return schoolAddress;}public void setSchoolAddress(String shoolAddress) {this.schoolAddress = shoolAddress;}}
package model;import java.io.Serializable;public class Student{private String id;private String name;private Address address;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;}}

<?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"><hibernate-mapping><class name = "model.Student" table = "student" lazy="true"><id name="id" column="id" type="string"><generator class="uuid"></generator></id><property name="name" column = "name" type = "string"></property><component name="address" class = "model.Address"><property name="homeAddress" type = "string" column="homeAddress"></property><property name="schoolAddress" type = "string" column = "schoolAddress"></property></component></class></hibernate-mapping>

package model;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;/** * create table student (id varchar(255) not null, name varchar(255), homeAddress varchar(255), schoolAddress varchar(255), primary key (id)) */public class Create {public static void main(String[] args) {SchemaExport export = new SchemaExport(new Configuration().configure());export.create(true, true);}}

package model;import org.hibernate.Session;import org.hibernate.Transaction;public class Test {public static void main(String[] args) {//save();fetch();}//Hibernate: insert into student (name, homeAddress, schoolAddress, id) values (?, ?, ?, ?)static void save () {Session session = HibernateUtil.getSession();Transaction tx = null;try {tx = session.beginTransaction();Student student = new Student ();student.setName("zhangsan");Address address = new Address ();address.setHomeAddress("beijing");address.setSchoolAddress("shanghai");student.setAddress(address);session.save(student);tx.commit();}catch (Exception ex) {ex.printStackTrace();if (null != tx) {tx.rollback();}}finally {HibernateUtil.close(session);}}static void fetch () {Session session = HibernateUtil.getSession();Transaction tx = null;try {tx = session.beginTransaction();Student student = (Student) session.get(Student.class, "4a43c5753ee78aa4013ee78aa5bd0001");System.out.println(student.getAddress().getHomeAddress());System.out.println(student.getAddress().getSchoolAddress());tx.commit();}catch (Exception ex) {ex.printStackTrace();if (null != tx) {tx.rollback();}}finally {HibernateUtil.close(session);}}}


	
				
		
原创粉丝点击