Hibernate一對多關(guān)聯(lián)雙向關(guān)聯(lián)代碼實現(xiàn)分享
1、創(chuàng)建實體類(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"/>
<!--一對多雙向關(guān)聯(lián)映射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("清華大學(xué)出版社");
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();
}
相關(guān)文章
Eclipse引用XSD實現(xiàn)XML配置文件提示標(biāo)簽的方法
今天小編就為大家分享一篇關(guān)于Eclipse引用XSD實現(xiàn)XML配置文件提示標(biāo)簽的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
SpringBoot 監(jiān)控管理模塊actuator沒有權(quán)限的問題解決方法
這篇文章主要介紹了SpringBoot 監(jiān)控管理模塊actuator沒有權(quán)限的問題解決方法,需要的朋友可以參考下2017-12-12
劍指Offer之Java算法習(xí)題精講鏈表與二叉樹專項訓(xùn)練
跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化2022-03-03
如何基于SpringSecurity的@PreAuthorize實現(xiàn)自定義權(quán)限校驗方法
spring Security提供有若干個過濾器,它們能夠攔截Servlet請求,并將這些請求轉(zhuǎn)給認(rèn)證和訪問決策管理器處理,從而增強安全性,下面這篇文章主要給大家介紹了關(guān)于如何基于SpringSecurity的@PreAuthorize實現(xiàn)自定義權(quán)限校驗方法的相關(guān)資料,需要的朋友可以參考下2023-03-03
IntelliJ IDEA 中g(shù)it的使用圖文教程
本文通過圖文并茂的形式給大家介紹了IntelliJ IDEA 中g(shù)it的使用,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2018-02-02

