Hibernate双向N-N关联
来源:互联网 发布:基恩士plc软件下载 编辑:程序博客网 时间:2024/06/16 07:22
public class Address {
private Integer addressId;
private String addressDetail;
public Address(){ }
public Address(String addressDetail ){
this.addressDetail=addressDetail;
}
public Integer getAddressId() {
return addressId;
}
public void setAddressId(Integer addressId) {
this.addressId = addressId;
}
return addressDetail;
}
public void setAddressDetail(String addressDetail) {
this.addressDetail = addressDetail;
}
}
相应配置文件如下
<?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 5, 2014 11:04:27 AM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="com.chaohua.Bean.Address" table="ADDRESS">
<id name="addressId" type="java.lang.Integer">
<column name="ADDRESSID" />
<generator class="increment" />
</id>
<property name="addressDetail" type="java.lang.String">
<column name="ADDRESSDETAIL" />
</property>
</class>
</hibernate-mapping>
package com.chaohua.Bean;
import java.util.HashSet;
import java.util.Set;
public class Person {
private Integer id;
private double age;
private String name;
private Set<Address > address = new HashSet<Address>();
public Set<Address> getAddress() {
return address;
}
public void setAddress(Set<Address> address) {
this.address = address;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public double getAge() {
return age;
}
public void setAge(double age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
配置文件如下
<?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 5, 2014 11:03:10 AM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="com.chaohua.Bean.Person" table="PERSON1">
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="increment" />
</id>
<property name="age" type="double">
<column name="AGE" />
</property>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<set name="address" table="ADDRESS" >
<key>
<column name="ID" />
</key>
<one-to-many class="com.chaohua.Bean.Address" />
</set>
</class>
</hibernate-mapping>
包含主函数的测试类
package com.chaohua.Test;
import com.chaohua.Bean.Address;
import com.chaohua.Bean.Person;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
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 person = new Person();
Address address = new Address("ss");
session.save(address);
person.setName("sss");
person.setAge(20);
person.getAddress().add(address);
session.save(person);
session.persist(person);
tx.commit();
session.close();
sf.close();
}
}
总配置文件
<?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">CHAO</property>
<property name="connection.password">Chao5855</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/chaohua/Bean/Person.hbm.xml"/>
<mapping resource="com/chaohua/Bean/Address.hbm.xml"/>
</session-factory>
</hibernate-configuration>
- Hibernate双向N-N关联
- Hibernate双向N-N关联
- Hibernate 双向1-N关联
- Hibernate的双向N-N关联(六)
- Hibernate的关联映射(6)-双向N-N关联
- Hibernate的双向1-N关联(五)
- hibernate 双向n-n
- Hibernate的关联映射(5)-双向1-N关联
- Hibernate双向1-N关联的简单示例
- Hibernate关联关系之双向1—n
- Hibernate关系映射2:双向1-N关联
- Hibernate单向关联N-N
- 关联映射之⑥:双向N---N关联
- Hibernate单向关联N-1
- Hibernate单向关联1-N
- Hibernate 单向N-1关联
- hibernate双向1-N关联,但不能根据主表查从表的信息
- Hibernate的关联映射之N-N关联映射 .
- oracle 11g 协议适配器错误
- Java英文单词Java基础常见英语词汇
- SQL Server 中统计每个数据表的大小
- maven创建及maven2的常用命令
- 央视解读30万年薪公务员:公务员或将普遍涨薪
- Hibernate双向N-N关联
- 黑马程序员---java反射机制(一)
- 求一个范围中1的个数
- MySql GUI管理工具 MySQL Workbench
- const char * 和 std::string.c_str()是个危险的东西!
- Android发展历史
- H3C ER3200路由器安装MRTG监控网络流量
- 编一个简单的小游戏怎么删除一个用户和删除所有用户
- UVALive - 4108 SKYLINE (线段树的区间修改)