java - 自定义一个 EntityManager

标签 java hibernate jpa

我需要为 JPA EntityManager 添加一点智能,自定义 createNamedQuery。 我在一个包含许多模块的项目构建中工作,其中每个模块都使用 @PersistenceContext(unitName = "emModuleName") 注释其 EntityManager 实例。

看来我不能简单地扩展接口(interface)EntityManager,但我没有在网上找到任何关于这件事的文档。

有人知道什么是满足我需求的最佳解决方案吗?

我无法扩展一个特定的实现,因为应用程序必须独立于 JPA 实现。 谢谢

最佳答案

一种方法是创建自己的 EntityManager 实现,作为真正的 EnityManager 的包装器。拦截所需的方法(在您的情况下为 createNamedQuery),并将所有其他调用委托(delegate)给 underyling 对象。

创建您自己的代理来拦截方法调用。

然而,这两种方式都不是您可能希望的那样简单易用。

关于java - 自定义一个 EntityManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40509957/

相关文章:

java - Hibernate 实体代理初始化

MySQL 外键约束不适用于我的数据库设计

java - 为什么我只能在实体类上放置 NamedQuery 注释

java - 如何检查确保数组不包含两次相同的元素

java - 如何在 Flyway 的不同文件中分隔每个脚本?

hibernate - 我可以让 Hibernate 根据唯一列约束替换对象吗?

java - 怀疑hibernate JPA中的多对多关系

java - 解决 JPA 查询查找连接列表中的最后一个条目

java - LAN 网络和 ZONG 4G 上的 IP 地址返回不同

java - 在 Controller 中处理删除请求的正确方法是什么?