hibernate的单向一对多
来源:互联网 发布:h5界面设计软件 编辑:程序博客网 时间:2024/05/01 10:21
工具包和实现接口的类都跟上一篇的一样;请参考上篇。不同之处
封装JavaBean的类:
City.java
package www.csdn.net.blank.bean;import java.io.Serializable;public class City implements Serializable{ /** * */private static final long serialVersionUID = 1L;private Integer id; private String name;public City() {super();// TODO Auto-generated constructor stub}public City(Integer id, String name) {super();this.id = id;this.name = name;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;} }
Province.java
package www.csdn.net.blank.bean;import java.io.Serializable;import java.util.Set;public class Province implements Serializable{/** * */private static final long serialVersionUID = 1L;private Integer id;private String name;private Set<City> cities;public Province() {super();}public Province(Integer id, String name) {super();this.id = id;this.name = name;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Set<City> getCities() {return cities;}public void setCities(Set<City> cities) {this.cities = cities;}}
Province.hbm.xml
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="www.csdn.net.blank.bean"><class name="Province" table="pro"><id name="id" column="pro_id"><!-- 主键的生成策略 --><generator class="native" /></id><property name="name" column="pro_name" length="40" unique="true" /><!--使用 cascade="all" 来指定全部操作都顺着关联关系级联(cascaded)。默认值是cascade="none",即任何操作都不会被级联(cascaded)。 --><!-- 元素来映射持久化类的 set 类型的属性 name:设定待映射持久化类的属性名。 cascade:设定级联操作的程度。 key子属性:设定与所关联的持久化类对应的表的外键。 column: 指定关联表的外键名 one-to-many子属性:设定所关联的持久化类(集合中存放的对象)。 class: 指定关联的持久化类的类名 --><set name="cities" table="cities" cascade="save-update" lazy="false"><key column="pro_id" /><one-to-many class="City" /></set></class></hibernate-mapping>
City.hbm.xml
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="www.csdn.net.blank.bean"><class name="City" table="cities"><id name="id" column="city_id"><!-- 主键的生成策略 --><generator class="native" /></id><property name="name" column="city_name" length="40"unique="true" /></class></hibernate-mapping>
测试类
package www.csdn.net.blank.junit;import java.util.HashSet;import java.util.Iterator;import java.util.Set;import org.junit.Test;import www.csdn.net.blank.bean.City;import www.csdn.net.blank.bean.Province;import www.csdn.net.blank.dao.BaseDao;import www.csdn.net.blank.dao.impl.BaseDaoImpl;import www.csdn.net.blank.util.HiberUtil;public class Test1 {@Testpublic void test() {HiberUtil.openSession();}private BaseDao baseDao=new BaseDaoImpl();@Testpublic void save(){Province province=new Province();province.setName("河北省1");Set<City> entity=new HashSet<City>();entity.add(new City(null,"baoding"));entity.add(new City(null,"shijia"));entity.add(new City(null,"cang"));province.setCities(entity);baseDao.saveObject(province);}@Testpublic void getupdate(){Province entity=(Province) baseDao.getObjectById(Province.class, 1);if(entity!=null){System.out.println(entity.getName());Set<City> e=entity.getCities();Iterator<City> it= e.iterator();while(it.hasNext()){City c=it.next();System.out.println(c.getName());}/*entity.setName("河南省1");baseDao.updateObject(entity);*/}}@Testpublic void delete(){Province pro=(Province) baseDao.getObjectById(Province.class,1); baseDao.deleteObject(pro);}}
0 0
- hibernate的单向一对多
- Hibernate一对多(单向)
- Hibernate一对多(单向)
- Hibernate一对多(单向)
- Hibernate一对多(单向)
- Hibernate一对多的单向关联
- hibernate一对多单向关联的使用
- Hibernate的一对多单向配置
- Hibernate的单向一对多关联
- Hibernate一对多单向关系
- Hibernate一对多单向关联
- hibernate一对多单向关联
- hibernate一对多单向关联
- Hibernate单向一对多关联
- hibernate一对多单向关联
- Hibernate 一对多单向关联
- hibernate的单向多对一和一对多
- Hibernate一对多单向关联,inverse和cascade的区别
- java一定要谨慎的操作!
- emmc boot partition 使用思考
- java笔记8
- boost程序编写步骤
- 使用Bash脚本实现Web服务CGI
- hibernate的单向一对多
- date中的类!
- 函数对象
- HBase数据迁移(3)-自己编写MapReduce Job导入数据
- 结合Wireshark捕获分组深入理解DNS协议
- 女孩子要检点点
- BS架构与CS架构的区别
- Objective-C中的instancetype和id区别
- chrome源码解析系列:Chrome消息系统(1)