【hibernate实例】赵雅智_双向多对一客户与订单增加查找修改
来源:互联网 发布:淘宝交易关闭 编辑:程序博客网 时间:2024/06/11 12:13
新建持久化类
Order.java
package www.hbsi.net.one2manyboth;public class Order {private int id;private String no;private Customer customer;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getNo() {return no;}public void setNo(String no) {this.no = no;}public Customer getCustomer() {return customer;}public void setCustomer(Customer customer) {this.customer = customer;}}
Customer.java
package www.hbsi.net.one2manyboth;import java.util.Set;public class Customer {private int id;private String name;private Set<Order> orders;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;}public Set<Order> getOrders() {return orders;}public void setOrders(Set<Order> orders) {this.orders = orders;}}
新建持久化类配置文件
Order.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"><hibernate-mapping package="www.hbsi.net.one2manyboth"> <class name="Order" table="orders"> <id name="id" column="id"> <generator class="native"/> </id> <property name="no" column="no" type="string"/> <many-to-one name="customer" column="customer_id" cascade="save-update"/> </class></hibernate-mapping>
Customer.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"><hibernate-mapping package="www.hbsi.net.one2manyboth"> <class name="Customer" table="customer"> <id name="id" column="id"> <generator class="native"/> </id> <property name="name" column="name" type="string"/> <set name="orders" inverse="true" cascade="save-update"> <key column="customer_id"/> <one-to-many class="Order"/> </set> </class></hibernate-mapping>
更改hibernate配置文件
hibernate.cfg.xml
创建测试类
App.java
package www.hbsi.net.one2manyboth;import java.util.Set;import org.hibernate.Session;import org.junit.Test;import www.hbsi.net.util.HibernateSessionFactory;public class App {@Testpublic void add(){Session session = HibernateSessionFactory.getSession();session.beginTransaction();Customer customer = new Customer();customer.setName("客户2");Order order = new Order();order.setNo("1234");order.setCustomer(customer);Order order1 = new Order();order1.setNo("213");order1.setCustomer(customer);//order维护保存ordersession.save(order);session.save(order1);session.getTransaction().commit();HibernateSessionFactory.closeSession();}//查询1号客户的所有订单@Testpublic void find(){Session session = HibernateSessionFactory.getSession();session.beginTransaction();Customer cust = (Customer) session.get(Customer.class,1);Set<Order> orders = cust.getOrders();for(Order o:orders){System.out.println(o.getNo());}session.getTransaction().commit();HibernateSessionFactory.closeSession();}//改变订单的所有者 將4号订单给1号客户@Testpublic void change(){Session session = HibernateSessionFactory.getSession();session.beginTransaction();//查找4号订单Order o4 = (Order) session.get(Order.class,4);//查找1号客户Customer c1 = (Customer) session.get(Customer.class,1);//建立关联关系o4.setCustomer(c1);c1.getOrders().add(o4);session.getTransaction().commit();HibernateSessionFactory.closeSession();}}
增加:
查找:
修改:
- 【hibernate实例】赵雅智_双向多对一客户与订单增加查找修改
- 【hibernate实例】双向多对一客户与订单增加查找修改
- 【hibernate实例】赵雅智_单项多对一增加查找
- 【hibernate实例】单项多对一增加查找
- 【hibernate实例】赵雅智_单项一对多增加查找
- 【hibernate实例】赵雅智_双项一对多(多对一)增加删除
- 【hibernate】一对多(客户与订单双向关联)遇到的异常
- Hibernate关联映射_双向多对一
- Hibernate入门04_双向多对一
- Hibernate中的多对一单向与双向关联
- hibernate的一对多双向关联映射----客户和订单关系
- 【hibernate实例】项一对多增加查找
- Hibernate双向一对多(多对一)
- 五、hibernate多对一(双向关联)
- Hibernate Annotation 多对一 双向
- Hibernate双向多对一关系
- hibernate双向多对一映射关系
- hibernate ORM映射:双向多对一
- VC6.0获取本机主机名和IP地址
- ubuntu下彻底删除mysql【装】
- 编译 wireless tools
- 一切的一切皆因你是个妹纸
- 去掉tableView上的分割线
- 【hibernate实例】赵雅智_双向多对一客户与订单增加查找修改
- linux 压缩文件的命令总结
- Linux命令的返回值
- android activity 动画切换
- Android之最简单的ImageView加边框方法
- ListView异步加载网络图片完美版之双缓存技术
- ubuntu apt
- make 、make clean、make depend的区别
- 一天一练之起泡排序算法