众所周知Hibernate是一个很好ORM开源项目,怀着谦虚的心态学习此框架,记录一下学习的过程
many2one;
定义两个实体:Customer和Order
public class Customer{
private Long id;
private String name;
//省略get/set
}
//Orders是多,Customer是一
//多订单对应一个客户
public class Order{
private Long id;
private String sn;
private Customer customer;
//省略set/get
}
实体映射如下:
Customer.hbml.xml
<hibernate-mapping package="com.xier.many2one">
<class name="Customer" table="Customer">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name"/>
</class>
</hibernate-mapping>
Order.hbm.xml
<hibernate-mapping package="com.xier.many2one">
<class name="Orders">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="sn"/>
<many-to-one name="customer" column="CUST_ID"/>
</class>
</hibernate-mapping>
编写代码有一项不成文的规定,测试先行,好吧,就写测试吧:
public class many2ontTest {
private hibernateUtil util;//此处的hibernateUtil是自己封装的工具
public many2ontTest(){
this.util=hibernateUtil.getInstance();
}
@Test
public void save(){
Session session=util.getSession();
session.beginTransaction();
Customer c=new Customer();
c.setName("admin");
Orders o=new Orders();
o.setSn("sn");
o.setCustomer(c);
session.save(c);
session.save(o);
session.beginTransaction().commit();
session.close();
}
}
测试本程序通过后,得到如下表结构:
Orders
Customer结构如下:
本次记录到此结束。