首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Hibernate OneToOne 配备

2012-09-13 
Hibernate OneToOne 配置/* * To change this template, choose Tools | Templates * and open the templa

Hibernate OneToOne 配置

/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.helloworld.entity;/** * * @author Administrator */public class Operation {    private String id;    private String opName;    private UserInfo userInfo;    /**     * 注意     * @param argUserInfo     */    public void setUserInfoRelation(UserInfo argUserInfo) {        this.userInfo = argUserInfo;        this.userInfo.setOperation(this);    }    public String getId() {        return id;    }      public void setId(String id) {        this.id = id;    }    public String getOpName() {        return opName;    }    public void setOpName(String opName) {        this.opName = opName;    }    public UserInfo getUserInfo() {        return userInfo;    }    public void setUserInfo(UserInfo userInfo) {        this.userInfo = userInfo;    }}

?

/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.helloworld.entity;/** * * @author Administrator */public class UserInfo {    private String id;    private String name;   private Operation operation;   public void setOperationRelation(Operation argOperation) {       this.operation = argOperation;       this.operation.setUserInfo(this);   }    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 Operation getOperation() {        return operation;    }    public void setOperation(Operation operation) {        this.operation = operation;    }}

?

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Generated 2011-12-31 9:56:49 by Hibernate Tools 3.2.1.GA --><hibernate-mapping>    <class name="com.helloworld.entity.Operation" table="operation">       <id name="id" type="string">            <column name="id" />            <generator />       </id>       <property name="opName" />       <many-to-one name="userInfo" cascade="all" />    </class></hibernate-mapping>

?

?

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Generated 2011-12-31 9:56:49 by Hibernate Tools 3.2.1.GA --><hibernate-mapping>    <class name="com.helloworld.entity.UserInfo" table="userinfo">       <id name="id" type="string">            <column name="id" />            <generator />       </id>       <property name="name" />       <one-to-one name="operation" cascade="all" property-ref="userInfo" />    </class></hibernate-mapping>

?

?第二种使用annotation

?

/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.helloworld.entity;import java.io.Serializable;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.ManyToOne;import javax.persistence.Table;import org.hibernate.annotations.GenericGenerator;/** * * @author liuqing */@Entity(name="userInfo")@Table(name="tb_Userinfo")public class UserInfo implements Serializable {    @Id    @GenericGenerator(name="idGenerator", strategy="uuid") //hibernate的注解    @GeneratedValue(generator="idGenerator")    private String id;        @Column    private String name;    /**     * 也可以用OneToOne     */    @ManyToOne   private Operations operation;   public void setOperationRelation(Operations argOperation) {       this.operation = argOperation;       this.operation.setUserInfo(this);   }    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 Operations getOperation() {        return operation;    }    public void setOperation(Operations operation) {        this.operation = operation;    }}

?

?

/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.helloworld.entity;import java.io.Serializable;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.OneToOne;import javax.persistence.Table;import org.hibernate.annotations.GenericGenerator;@Entity(name="Operation")@Table(name="Operation")public class Operations implements Serializable {    /**     * 定义uuid 32位编码     */    @Id    @GenericGenerator(name="idGenerator", strategy="uuid") //hibernate的注解    @GeneratedValue(generator="idGenerator")    private String id;    @Column    private String opName;    /**     * 一对一     */    @OneToOne(mappedBy = "operation")    private UserInfo userInfo;    /**     * 注意     * @param argUserInfo     */    public void setUserInfoRelation(UserInfo argUserInfo) {        this.userInfo = argUserInfo;        this.userInfo.setOperation(this);    }    public String getId() {        return id;    }      public void setId(String id) {        this.id = id;    }    public String getOpName() {        return opName;    }    public void setOpName(String opName) {        this.opName = opName;    }    public UserInfo getUserInfo() {        return userInfo;    }    public void setUserInfo(UserInfo userInfo) {        this.userInfo = userInfo;    }}

?

//注意在后面版本中(3.2 之后) annotationConfiguration 被去掉了//统一用Configuration config = new Configuration().configuration;//不分注解或xml配置方法Configuration config = new AnnotationConfiguration().configure();        Session session = config.buildSessionFactory().openSession();        Transaction tx = session.beginTransaction();

?

?

?

?

?

?

?

?

热点排行