有连接表的双向1-1关联
来源:互联网 发布:java json对象转换map 编辑:程序博客网 时间:2024/06/05 20:41
Person.java文件
package com.wang.bean;
import java.io.Serializable;
public class Person implements Serializable {
private Integer age;
private String name;
private Integer id;
private Address address;
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
Address.java文件
package com.wang.bean;
public class Address {
private Integer id;
private String AddressDatil;
private Person person;
public Address() {
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getAddressDatil() {
return AddressDatil;
}
public void setAddressDatil(String addressDatil) {
AddressDatil = addressDatil;
}
public Address(String AddressDatil) {
this.AddressDatil = AddressDatil;
}
}
Person.hbm.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">
<!-- Generated May 4, 2014 9:01:21 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="com.wang.bean.Person" table="PERSON_INF">
<id name="id" type="java.lang.Integer">
<column name="PERSON_ID" />
<generator class="increment"></generator>
</id>
<property name="age" type="java.lang.Integer">
<column name="AGE" />
</property>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<join table="person_address" optional="true">
<key column="person_id" unique="true"/>
<many-to-one name="address" class="com.wang.bean.Address" unique="true" column="address_id"/>
</join>
</class>
</hibernate-mapping>
Address.hbm.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">
<!-- Generated May 4, 2014 9:01:21 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="com.wang.bean.Address" table="ADDRESS_INF">
<id name="id" type="java.lang.Integer">
<column name="ADDRESS_ID" />
<generator class="increment"></generator>
</id>
<property name="AddressDatil" type="java.lang.String">
<column name="ADDRESSDATIL" />
</property>
<join table="person_address" inverse="true">
<key column="address_id" unique="true"/>
<many-to-one name="person" column="person_id" class="com.wang.bean.Person" unique="true" />
</join>
</class>
</hibernate-mapping>
hibernate.cfg.xml文件
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="connection.username">GUO</property>
<property name="connection.password">930603</property>
<property name="connection.pool_size">2</property>
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">create </property>
<mapping resource="com/wang/bean/Person.hbm.xml" />
<mapping resource="com/wang/bean/Address.hbm.xml" />
</session-factory>
</hibernate-configuration>
测试文件HibernateTest.java
package com.wang.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.wang.bean.Address;
import com.wang.bean.Person;
public class HibernateTest {
public static void main(String[] args) {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
Person person1 = new Person();
Address address1 = new Address("吉林");
person1.setAge(22);
person1.setName("王智国");
session.save(person1);
person1.setAddress(address1);
session.persist(address1);
Person person2 = new Person();
Address address2 = new Address("北京");
person2.setAge(22);
person2.setName("徐宏伟");
session.save(person2);
person2.setAddress(address2);
session.persist(address2);
try {
tx.commit();
session.close();
sf.close();
} catch (Exception e) {
tx.rollback();
} finally {
session.close();
sf.close();
}
}
}
- 有连接表的双向1-1关联
- Hibernate04(无连接表的双向1-N关联)
- 无连接表的双向1-n关联,和单项关联
- 6.1.1 有连接表的单向N--->1关联
- 6.1.2 有连接表的单向1--->1关联
- hibernate基于连接表的一对多双向关联
- hibernate基于连接表的多对多双向关联
- Hibernate的双向1-1关联(七)
- 6.2.1 Hibernate的单、双向关联
- Hibernate的双向1-N关联(五)
- Hibernate的关联映射(7)-双向1-1关联
- Hibernate的关联映射(5)-双向1-N关联
- Hibernate 1-1(有连接表的的单向1-1关联)
- Hibernate 一对一连接表双向关联
- Hibernate 一对多连接表双向关联
- Hibernate 一对一连接表双向关联
- Hibernate 一对多连接表双向关联
- Hibernate 一对一连接表双向关联
- C# 获得当前方法 和 方法调用链 的 方法
- 常用字符串函数
- ffmpeg 在linux下编译
- Android视觉规范-间距规范与文字规范单位换算(dip、sp与px)
- error C2065: 'IDD_VIDEONETDLG' : undeclared identifier
- 有连接表的双向1-1关联
- WPF文件上传及下载
- stringByAppendingPathComponent和stringByAppendingString的区别
- ios开发 - 邮箱,手机号码,车牌号是否合法(正则表达)
- imgareaselect jquery.imgareaselect.js 页面图片插件
- final、static使用总结
- 根据国嵌的程序改的v4l2程序
- [iOS]UILabel改变某个范围的字符颜色和字体
- Android4.1.2 耳机插入拔出通知流程分析