14.Hibernate的组件映射

来源:互联网 发布:电脑没有网络图标 编辑:程序博客网 时间:2024/05/22 13:20

可以使用component映射组件到该表中,当然组件也可以包含集合即组件所映射的类有包含集合,简单例子

Person映射文件

<?xml version="1.0" encoding="GBK"?><!-- 指定Hibernate的DTD信息 --><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com"><class name="Person" table="person"><id name="P_id" column="P_id"><generator class="identity" /></id><property name="info" type="string" /> <component name="name" class="Name" unique="true"> <parent name="person"/> <property name="N_id"/> <property name="about"/> </component></class></hibernate-mapping>
package com;public class Person {private Integer P_id;private String info;private Name name;public Person() {}public Person(String info, Name name) {super();this.info = info;this.name = name;}public Integer getP_id() {return P_id;}public void setP_id(Integer p_id) {P_id = p_id;}public String getInfo() {return info;}public void setInfo(String info) {this.info = info;}public Name getName() {return name;}public void setName(Name name) {this.name = name;}}
package com;public class Name {private Integer N_id;private String about;private Person person;public Name() { }public Name(String about, Integer N_id) {super();this.about = about;this.N_id = N_id;}public Integer getN_id() {return N_id;}public void setN_id(Integer n_id) {N_id = n_id;}public String getAbout() {return about;}public void setAbout(String about) {this.about = about;}public Person getPerson() {return person;}public void setPerson(Person person) {this.person = person;}}

测试

public class ManagerTest {static Session session = HibernateUtil.currentSession();public static void main(String[] args) {Transaction tx = session.beginTransaction();Name name = new Name("magoo", 12); Person person = new Person("2014-12-21",name);session.save(person);tx.commit();HibernateUtil.closeSession();}}



0 0
原创粉丝点击