Java是否具有在hibernate状态下打开会话时可以使用的using语句?
在C#中,它类似于:
using (var session = new Session()) { }
因此,对象超出范围并自动关闭。
Java 7引入了自动资源块管理,该功能将该功能引入了Java平台。Java的早期版本没有任何相似之处using。
using
例如,您可以使用java.lang.AutoCloseable以以下方式实现的任何变量:
java.lang.AutoCloseable
try(ClassImplementingAutoCloseable obj = new ClassImplementingAutoCloseable()) { ... }
java.io.Closeable由流实现的Java 接口自动扩展AutoCloseable,因此您可以try像在C#using块中使用流一样使用块中的流。这等效于C#的using。
java.io.Closeable
AutoCloseable
try
从5.0版开始,Hibernate Sessions实现AutoCloseable并可以在ARM块中自动关闭。在以前的Hibernate Session中没有实现AutoCloseable。因此,您需要使用Hibernate> = 5.0才能使用此功能。