package cn.itcast.onetomany;
import org.hibernate.Session;
import org.junit.Test;
import cn.itcast.utils.HibernateUtils;
public class OneToManyTest {
//添加数据
@Test
public void test1() {
Session session = HibernateUtils.getSession();
session.beginTransaction();
//1.创建一个客户
Customer c =new Customer();
c.setName("张三");
//2.创建两个订单
Order o1=new Order();
o1.setAddress("北京");
o1.setPrice(10000d);
Order o2=new Order();
o2.setAddress("广州");
o2.setPrice(5000d);
//3.描述关系-订单属于某个客户
o1.setCustomer(c);
o2.setCustomer(c);
//4.描述关系-客户有多个订单
c.getOrders().add(o1); //报错!
c.getOrders().add(o2); //报错!
//5.先存客户再存订单
session.save(c);
session.save(o1);
session.save(o2);
session.getTransaction().commit();
session.close();
}
}
如上图所示,两个add方法一直报错,网上查说是类型不符合所以添加不了,花了老半天的时间确认类型没错!后来终于发现是导错了包!set类多导了一个import org.hibernate.criterion.Order;删除马上就好了!