我一直在想,Java 7核心接口是否会扩展AutoCloseable。(对于核心接口,我主要指的是EntityManager等,但我不确定是否有其他可能自动关闭的接口或类。)
我认为他们应该--这是我假设的基础。
Connection甚至没有扩展Closeable,但是Connection扩展了AutoCloseable (就像java.sql包中的其他几个接口一样)。
像EntityManager这样的接口是否能够扩展AutoCloseable,使其能够很好地为我们服务,考虑到语句?还是自动关闭EntityManager太复杂了?
这一特性是否被认为是JSR-342的一部分?
发布于 2013-08-21 14:42:14
如果您正在管理您自己的JPA对象,那么尝试- with对于EntityManagers和较小程度的EntityManagerFactory来说是一件很好的事情。
我选择创建一个实用程序,它将EntityManagerFactory封装在实现接口的AutoCloseable版本的java.lang.reflect.Proxy中。调用处理程序然后拦截对createEntityManager()的调用,以便返回也实现AutoCloseable的底层EntityManager实例的代理版本。
我认为在容器管理的JPA对象的世界中工作要容易得多,但是如果您被困在一个简单的webapp中,那么这可能对您有用。
https://stackoverflow.com/questions/8431755
复制相似问题