各位请看一下,精通Hibernate里面的一段代码,请讲解一下

[复制链接]
查看11 | 回复1 | 2006-10-19 11:36:01 | 显示全部楼层 |阅读模式
public void saveCustomerAndOrderWithCascade() throws Exception{

// Ask for a session using the JDBC information we've configured
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
// Create some data and persist it
tx = session.beginTransaction();
Customer customer=new Customer("Tom",new HashSet());
Order order=new Order();
order.setOrderNumber("Tom_Order001&quot

;
order.setCustomer(customer);
customer.getOrders().add(order);
session.save(customer);
tx.commit();

;
}catch (Exception e) {
if (tx != null) {
// Something went wrong; discard all partial changes
tx.rollback();
}
e.printStackTrace();
} finally {
// No matter what, close the session
session.close();
}
}
Customer与Order关联关系
insert into CUSTOMER (ID,NAME)value(1,"Tome&quot

insert into ORDERS (ID,ORDER_NUMBER,CUSTOMER_ID) value (1,"Tom","Tom_Order001",1)
结果为何会是这样
回复

使用道具 举报

千问 | 2006-10-19 11:36:01 | 显示全部楼层
因为在配置文件里面已经申明两个关联关系,所有当session.save(customer);的时候,同时也save了order。有什么奇怪的???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行