我正在开发订单管理应用程序,并且有不同的页面来完成订单。我应该在Http Session或每个页面上存储完整的订单对象,我应该使用一些购物车编号或订单号从数据库中检索对象吗?
我知道这取决于设计决策。我只是在寻找ppl使用的最佳实践。
提前感谢您的帮助。
答案 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
是的,因为购物车可以进入会话,因为在用户真正决定这样做之前不需要持久性,并且您需要在整个浏览器会话期间保持这种状态。