Hibernate一对多关联双向关联代码实现分享
1、创建实体类(Customer.java、Orders.java)
package wck.stu.vo.oneToMany_single;import java.util.HashSet;
import java.util.Set;public class Customer {
private String id = "";
private String cName = "";
private String bank = "";
private String phone = "";
private Set orders = new HashSet();public String getId() {
return id;
}public void setId(String id) {
this.id = id;
}public String getcName() {
return cName;
}public void setcName(String cName) {
this.cName = cName;
}public String getBank() {
return bank;
}public void setBank(String bank) {
this.bank = bank;
}public String getPhone() {
return phone;
}public void setPhone(String phone) {
this.phone = phone;
}public Set getOrders() {
return orders;
}public void setOrders(Set orders) {
this.orders = orders;
}
}Customer.java
package wck.stu.vo.oneToMany_single;public class Orders {
private String id = "";
private String orderNo = "";
private Double money = 0.0;
private Customer customer;public String getId() {
return id;
}public void setId(String id) {
this.id = id;
}public String getOrderNo() {
return orderNo;
}public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}public Double getMoney() {
return money;
}public void setMoney(Double money) {
this.money = money;
}public Customer getCustomer() {
return customer;
}public void setCustomer(Customer customer) {
this.customer = customer;
}
}Orders.java
2、配置文件(Customer.hbm.xml、Orders.hbm.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping>
<class name="wck.stu.vo.oneToMany_single.Customer" table="CUSTOMER">
<id name="id" type="java.lang.String">
<column name="C_ID" length="32" not-null="true"></column>
<generator class="uuid.hex"></generator>
</id>
<property column="CNAME" name="cName" type="string" length="100"/>
<property column="BANK" name="bank" type="string" length="100"/>
<property column="PHONE" name="phone" type="string" length="20"/>
<!--一对多双向关联映射customer到orders,单的一方配置 -->
<set cascade="all" inverse="true" lazy="false" name="orders">
<key column="CUSTOMER_ID" />
<one-to-many class="wck.stu.vo.oneToMany_single.Orders" />
</set>
</class>
</hibernate-mapping>Customer.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping>
<class name="wck.stu.vo.oneToMany_single.Orders" table="ORDERS">
<id name="id" type="java.lang.String">
<column name="C_ID" length="32" not-null="true"></column>
<generator class="uuid.hex"></generator>
</id>
<property column="ORDERNO" name="orderNo" type="java.lang.String" length="17"/>
<property column="MONEY" name="money" type="java.lang.Double" />
<many-to-one name="customer" class="wck.stu.vo.oneToMany_single.Customer" column="CUSTOMER_ID" cascade="all" lazy="false" not-null="true"/>
</class>
</hibernate-mapping>Orders.hbm.xml
3、测试代码
public String saveCustomerInfo() {
Customer customer = new Customer();
customer.setcName("清华大学出版社");
customer.setBank("9559501012356789");
customer.setPhone("010-62772015");
Orders order = new Orders();
order.setOrderNo(new Long(System.currentTimeMillis()).toString());
order.setMoney(new Double(rnd.nextDouble()*10000));
order.setCustomer(customer);
customer.getOrders().add(order);
oneToManyDao.saveCustormerInfo(customer);
return customer.getId();
}
您可能感兴趣的文章:
- [原创]java WEB学习笔记83:Hibernate学习之路---双向 1-n介绍,关键点解释,代码实现,set属性介绍(inverse,cascade ,order-by )
- 【hibernate框架】一对一双向外键关联(XML实现)
- 整合Spring MVC,mybatis,hibernate,freemarker框架实现的自定义注解Validator验证机制实现对敏感词过滤的代码分享
- 整合Spring MVC,mybatis,hibernate,freemarker框架实现的自定义注解Validator验证机制实现对敏感词过滤的代码分享
- 【hibernate框架】多对多双向关联(Annotation实现)
- Hibernate多对多的关联映射(如何配置,代码实现)
- 【hibernate框架】多对多双向关联(XML实现)
- 整合Spring MVC,mybatis,hibernate,freemarker框架实现的自定义注解Validator验证机制实现对敏感词过滤的代码分享
- 【hibernate框架】一对一双向外键关联(Annotation实现)
- 【hibernate框架】一对多(多对一)双向关联(XML实现)
- Java自学笔记之Hibernate-用注解方式实现一对多双向关联
- 【hibernate框架】一对多(多对一)双向关联(Annotation实现)
- 整合Spring MVC,mybatis,hibernate,freemarker框架实现的自定义注解Validator验证机制实现对敏感词过滤的代码分享
- jquery实现拖动效果(代码分享)
- hibernate学习(7)——一对一双向外键关联
- c#打印预览控件中实现用鼠标移动页面功能代码分享
- Hibernate的many-to-many双向关联的配置办法
- Hibernate一对多单向关联和双向关联映射方法及其优缺点
- 【Hibernate步步为营】--(一对多映射)之双向关联