如何在休眠中存储分离的对象

时间:2014-03-10 02:45:01

标签: hibernate

我正在开发订单管理应用程序,并且有不同的页面来完成订单。我应该在Http Session或每个页面上存储完整的订单对象,我应该使用一些购物车编号或订单号从数据库中检索对象吗?

我知道这取决于设计决策。我只是在寻找ppl使用的最佳实践。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

是和否。 不要使用Session(大多数时候)来存储请求对象。这将占用你服务器的RAM,并且根据你剩下的堆内存量,它将开始寻呼到I / O.我不知道您使用的Web层是什么框架,但您应该使用在控制器中获取/设置的后备对象。从那里,您可以拥有一个服务层来处理业务逻辑。

最后,为了回答您的问题,您将把收到的数据映射到Hibernate Entities,如果您更喜欢使用Detached Criteria,请查看 -

http://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/criterion/DetachedCriteria.html

https://gist.github.com/jeffsheets/5292986

是的,因为购物车可以进入会话,因为在用户真正决定这样做之前不需要持久性,并且您需要在整个浏览器会话期间保持这种状态。