《EJB3.0入门经典》笔记

1.在Stateless Session Bean中使用extended persistence context,更新了对象属性后,想验证数据库中相应的记录是否有同步变更,不可以用如下方法来验证:

context.setName("变化了");

context = em.find(Context.class, context.getId);

System.out.println(context.getName());

假设数据库中保存的name是“未变化”,执行上面的语句后,显示的是“变化了”,其实数据库中保存的还是“未变化”,因为还未执行em.joinTransaction().

虽然通过em.find(Context.class, context.getId)查出来对象的name已经变了,但仅是在内存中查出来的。

在我们使用的是extended persistence context,em会实时更新托管状态context的属性,所以通过em.find(Context.class, context.getId)查找的对象,就是更新后的对象。

结论:《EJB3.o入门经典》P113中给出的验证案例是不对的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值