我刚开始负责管理使用Hibernate一些实体,并提供一个REST接口来操纵这些对象,并提供一些额外的业务逻辑的简单Java testproject。 其余接口使用的RESTEasy和Jetty创建。
一切工作正常,到目前为止,但我有我实际编写了太多的样板代码的感觉。 由于我没有在这些Java框架我只是想知道太多的经验,如果任何人都可以给我就如何改善这种情况的提示。
- 每个请求Creting Hibernate的会话
那么,据我了解我要创建每个请求一个Hibernate会话,并在年底我必须关闭它。 所以目前我所有的服务方法是这样的:
Session session = HibernateUtil.getInstance().getSessionFactory().openSession();
...
...
...
session.close();
有没有什么办法,以某种方式自动执行此操作删除这两条线? 目前,我的服务被注册为RestEasy的单。 将更改为RestEasy的的ressource和创建在构造函数中会解决这个问题? 我认为这将解决创建会话的问题。 但wherer关闭它?
在C ++中,这可以容易地进行将建立一个范围的对象,其在端部关闭会话。 但在Java?
- 每当这样的REST请求时我要检查一个有效的会话(用户必须事先登录)。 是ServletFilter中做到这一点的正确方法?
一般:我还应该考虑使用其他任何图案或框架? 我的意思是我想保持尽可能简单,尤其是因为我不那么多的经验,我不想落得使用Spring或任何重量级的框架。 看来,我已经习惯了Python和Django的的简单,但对于这个小项目,我不得不使用Java。
感谢这么远!