3.4.3. 持久化接口
Persistence 接口是ORM层数据存储功能的入口。
该接口有以下方法:
-
createTransaction()、getTransaction()– 获取管理事务的接口。该方法可以接受一个数据存储名称作为参数。如果不指定数据存储名称,则使用主数据存储。 -
callInTransaction()、runInTransaction()- 在新的事务中执行指定操作,操作可以有返回值,也可以没有。该方法可以接受一个数据存储名称作为参数。如果不指定数据存储,则使用主数据存储。 -
isInTransaction()– 检查当前是否有活动的事务。 -
getEntityManager()– 返回绑定到当前事务的EntityManager实例。该方法可以接受一个数据存储名称作为参数。如果不指定数据存储,则使用主数据存储。 -
isSoftDeletion()– 检查是否启用了软删除模式。 -
setSoftDeletion()– 启用或禁用软删除模式。设置此属性会影响所有新创建的EntityManager实例。默认启用软删除。 -
getDbTypeConverter()– 返回主数据存储或其它数据存储的DbTypeConverter实例。 -
getDataSource()– 返回主数据存储或附加数据存储的javax.sql.DataSource实例。对于通过
getDataSource().getConnection()方法获得的所有javax.sql.Connection对象,在使用连接后,应在finally中调用close()方法。否则,连接不会被重新放回连接池。随着时间的推移连接池将溢出,应用程序将无法执行数据库查询。 -
getTools()– 返回PersistenceTools接口的实例(见下文)。