Skip to content

Latest commit

 

History

History
26 lines (17 loc) · 1.26 KB

File metadata and controls

26 lines (17 loc) · 1.26 KB
TransactionalDataManager

TransactionalDataManager 是一个中间层的 bean,跟 DataManager 接口类似,但是可以使用一个已经存在的事务。有如下功能:

  • 如果有活跃的事务,则会使用它,否则跟 DataManager 一样会创建并提交一个新事务。

  • 接收并返回游离态的实体。开发者需要使用合适的视图加载实体并使用 save() 方法显式的保存修改的实例至数据库。

  • 使用行级安全机制,使用跟 DataManager 一样的方式处理动态属性和跨数据存储引用。

下面是在 service 的方法中使用 TransactionalDataManager 的简单示例:

link:../../../../../../source/common/transactionalDataManager_1.java[role=include]

可以在框架测试代码中找到更复杂的例子: DataManagerTransactionalUsageTest.java

Tip

如果需要在当前事务中处理 EntityChangedEvent 事件的话,TransactionalDataManager 特别有用。可以在事务提交之前从数据库获取更改实体的当前状态。