Hibernate之one-to-one外键关联映射
Hibernate之one-to-one外键关联映射
在hibernate一对一实体映射中,常用有两种方式,一种就是把一对一看作多对一的一个特例,即通过外键参考。
另一种是通过主键参考,限制两个数据表中的主键使用相同的值。
po类
Person.java
- package po;
- public class Person {
- private int id;
- private String name; //姓名
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
- package po;
- public class Card {
- private int id; //身份证ID
- private String number; //身份证号码
- private Person person; //一个身份证号对应一个人
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getNumber() {
- return number;
- }
- public void setNumber(String number) {
- this.number = number;
- }
- public Person getPerson() {
- return person;
- }
- public void setPerson(Person person) {
- this.person = person;
- }
- }
- <hibernate-mapping>
- <class name="po.Card" table="card">
- <id name="id" type="integer">
- <generator class="native" />
- </id>
- <property name="number"></property>
- <!-- 是多对一的一种特例 unique=true设置为唯一关联 -->
- <many-to-one name="person" unique="true" column="person"></many-to-one>
- </class>
- </hibernate-mapping>
- <hibernate-mapping>
- <class name="po.Person" table="person">
- <id name="id" type="integer">
- <generator class="native" />
- </id>
- <property name="name" />
- </class>
- </hibernate-mapping>
- <hibernate-configuration>
- <session-factory>
- <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
- <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
- <property name="connection.username">root</property>
- <property name="connection.password">1</property>
- <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="myeclipse.connection.profile">mysql</property>
- <property name="show_sql">true</property>
- <property name="format_sql">true</property>
- <mapping resource="po/Person.hbm.xml"/>
- <mapping resource="po/Card.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
|
评论暂时关闭