hibernate笔记-006-双向的一对一映射

xiaoxiao2021-02-28  82

注解配置

实体类

package com.hibernate.bean; import java.io.Serializable; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; import org.hibernate.annotations.GenericGenerator; @Entity @Table(name = "person") public class Person implements Serializable { private static final long serialVersionUID = 164729354340664000L; @Id @GeneratedValue(generator = "person_gen") @GenericGenerator(name = "person_gen", strategy = "native") private int id; private String name; // optional = true设置idcard属性可以为空 @OneToOne(optional = true) @JoinColumn(name = "idcard", unique = true) private IDCard idcard; public int getId() { return id; } public IDCard getIdcard() { return idcard; } public String getName() { return name; } public void setId(int id) { this.id = id; } public void setIdcard(IDCard idcard) { this.idcard = idcard; } public void setName(String name) { this.name = name; } }

package com.hibernate.bean; import java.io.Serializable; 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 @Table(name = "idcard") public class IDCard implements Serializable { private static final long serialVersionUID = -9090370736334654436L; @Id @GeneratedValue(generator = "idcard_gen") @GenericGenerator(name = "idcard_gen", strategy = "native") private int id; private String address; @OneToOne(mappedBy = "idcard") private Person person; public String getAddress() { return address; } public int getId() { return id; } public Person getPerson() { return person; } public void setAddress(String address) { this.address = address; } public void setId(int id) { this.id = id; } public void setPerson(Person person) { this.person = person; } }一方使用mappedBy=" "指向拥有方

xml配置

<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.hibernate.bean"> <class name="Person" table="t_person"> <id name="id" column="id"> <generator class="native" /> </id> <property name="name" column="name" /> <many-to-one name="idcard" column="idcard_id" unique="true" /> </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"> <hibernate-mapping package="com.hibernate.bean"> <class name="User" table="t_user"> <id name="id" column="uid"> <generator class="uuid" /> </id> <property name="name" column="uname" /> <one-to-one name="person" property-ref="idcard" /> </class> </hibernate-mapping>

使用property-ref=" "指向拥有方

转载请注明原文地址: https://www.6miu.com/read-62131.html

最新回复(0)