0

我需要跟踪使用 MySQL 作为其数据库的 java 实体类的状态变化。我知道 EntityManager 有一种机制来跟踪它所管理的实体的状态变化。我想要的是访问实体状态更改。我希望我的应用程序触发甚至通知另一个应用程序有关实体的新状态。从我目前收集到的信息来看,没有任何 API 可用于检查实体所处的特定生命周期。还是有吗?有没有人有关于如何解决这个问题的信息?

4

2 回答 2

2

JPA 定义了侦听器接口,您可以实现这些接口以便收到实体生命周期事件的通知。

看看这篇文章:http ://www.objectdb.com/java/jpa/persistence/event

于 2012-10-23T22:12:33.520 回答
2

EclipseLink 提供了一组会话级别的事件 (SessionEventListener)。

我假设您只想在提交更改后通知已提交的更改?为此,您可以使用 postCommitUnitOfWork 事件。事件/uow 包含一个 UnitOfWorkChangeSet,其中包含在事务中所做的更改列表。

于 2012-10-24T12:52:18.827 回答