JPA事务和触发器/调度作业可能存在冲突



在我们的应用程序中,我们使用PL/SQL来维护数据的持久性,我们还大量使用PL/SQL存储过程、调度作业和触发器来实现部分应用程序逻辑。

我的问题是:

如果我担心冲突,请使用JPA访问此持久性
JPA事务DB上定义的上述触发器和计划作业时可能具有的功能?

如果你能指出一些在线材料,那也会很有帮助我可以通过阅读来消除疑虑
谢谢

您可能会遇到问题。在数据库中实现业务逻辑可能会导致代码重复。但你们最大的问题和数据的完整性和一致性有关:

  1. 您的应用程序正在使用乐观锁定吗。如果是,那么JPA可能无法看到相关实体版本的更改。如果由于PLSQl代码而发生更改,则不会抛出乐观锁异常。除非版本控制也在其中实现
  2. 缓存。如果使用缓存,则可能会出现缓存与数据库State不一致的情况。例如,您读取实体A的状态被缓存,然后PLSQL后台过程更新其状态。然后你进行另一次更新并持久化和Ta数据。。。你有问题。然后,我们再次指出如何对数据进行版本控制

一般来说,混合PL/SQL和Hibernate我真的不喜欢…

最新更新