在 persistence.xml 之外定义 jpa 实体类

2024-03-05

有没有办法在 persistence.xml 之外定义 jpa 实体类(即在单独的文件中)?

能够不将 persistence.xml 作为外部文件也足够了。

提前致谢, 史蒂文

编辑: 抱歉我没说清楚。这是在 Java SE 环境中。 另外,我不想在我的 persistence.xml 文件中列出 some.class.AClass 。 这是因为我想动态创建此类列表并引用包含此列表的文件。

编辑2: 设法通过在打包之前的构建时编写 persistence.xml 文件来解决此问题。如果有人感兴趣,我使用 scannotations 来发现所有用 @Entity 注释的类,并将它们写入 target/classes/META-INF 中的 persistence.xml 文件(使用 maven)。


在 Java SE 环境中,可移植应用程序must明确地列出类persistence.xml。来自 JPA 1.0 规范:

6.2.1.6 映射文件、jar 文件、类、排除未列出的类

以下课程必须是 隐式或显式表示为 托管持久性类是 包含在持久性单元中: 实体类;可嵌入类; 映射的超类。

托管持久性类的集合 由持久性单元管理 是通过使用一个或多个来定义的 下列的:

  • 一个或多个对象/关系映射 XML 文件
  • 将搜索类的一个或多个 jar 文件
  • 明确的类列表
  • 根中包含的带注释的托管持久性类 持久化单元(除非exclude-unlisted-classes元素是 指定的)

(...)

命名的托管持久性列表 也可以指定类 JAR 文件的或补充 和映射文件。任意映射 在这些上找到的元数据注释 类将被处理,或者它们 将使用映射进行映射 注释默认。类元素 用于列出托管持久性 班级。所有命名的托管列表 必须指定持久化类 在 Java SE 环境中以确保 可移植性。便携式Java SE 应用程序不应依赖于 此处描述的其他机制 指定托管持久性 持久化单元的类。 持久性提供者可能还需要 实体类的集合和 要管理的类必须是 充分列举了每个persistence.xmlJava SE 中的文件 环境。

根中包含的所有类 持久化单元也会被搜索 用于带注释的托管持久性 类和任何映射元数据 在它们上找到的注释将是 已处理,否则将被映射 使用映射注释默认值。 如果不是故意的 带注释的持久化类 包含在根中 持久化单元包含在 持久化单元exclude-unlisted-classes元素 应该使用。The exclude-unlisted-classes元素是 不适用于 Java SE 环境。

所管理实体的结果集 持久化单元是联合体 这些来源,以及映射 元数据注释(或注释 默认值)对于任何给定的类 被 XML 映射覆盖 信息文件(如果两者都有) 注释以及 XML 映射 对于那堂课。最小便携 覆盖级别是 持久字段或属性。

如果可移植性不是问题,某些提供程序确实支持 Java SE 环境中的实体发现(例如 EclipseLink、休眠 http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/configuration.html#setup-configuration-packaging).

如果考虑可移植性,使用 Spring 等第三方容器会有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 persistence.xml 之外定义 jpa 实体类 的相关文章

  • Java 字符串哈希码缓存

    字符串不变性的优点之一是哈希码缓存以实现更快的访问 在这种情况下 如何处理具有相同哈希码的字符串的缓存 在这种情况下它真的能提高性能吗 在这种情况下 如何处理具有相同哈希码的字符串的缓存 被缓存的是字符串的哈希码 它被缓存在私有的int字符
  • Java中RandomAccessFile的并发

    我正在创建一个RandomAccessFile对象通过多个线程写入文件 在 SSD 上 每个线程都尝试在文件中的特定位置写入直接字节缓冲区 并且我确保线程写入的位置不会与另一个线程重叠 file getChannel write buffe
  • 检查发送到网页的请求数

    我正在编写一个 Java 多线程应用程序 它可以访问不同 Web 服务器的数百万个 有时甚至数十亿个 URL 这个想法是检查这些 URL 是否给出有效的 200OK 响应或 404 其他代码 我如何知道我的程序是否不会在他们的服务器上造成高
  • 如何实现具有LinkedHashMap类似功能的ConcurrentHashMap?

    我用过LinkedHashMap with accessOrdertrue 并同时允许最多 500 个条目作为数据的 LRU 缓存 但由于可扩展性问题 我想转向一些线程安全的替代方案 ConcurrentHashMap在这方面似乎不错 但缺
  • 如何在Spring Boot中初始化一次MongoClient并使用它的方法?

    您好 我正在尝试导出MongoClient在 Spring Boot 中成功连接后 我尝试在其他文件中使用它 这样我就不必每次需要在 MongoDB 数据库中进行更改时都调用该连接 连接非常简单 但目标是将应用程序连接到我的数据库一次 然后
  • 使用正则表达式验证输入字符串是否为 0-255 之间的数字

    我在将输入字符串与正则表达式匹配时遇到问题 我想验证输入数字在 0 255 之间并且长度最多应为 3 个字符 代码工作正常 但当我输入 000000 至任意长度时 显示 true 而不是 false 这是我的代码 String IP 000
  • jpa2 CriteriaBuilder order by “ORDER BY 表达式必须出现在选择列表中”

    我正在写一个查询标准生成器 但无法添加order by子句 因为它随消息一起抛出错误ORDER BY 表达式必须出现在选择列表中这是我的实体 public class A Integer aId ManyToOne JoinColumn n
  • Active MQ - HelloWorld 示例异常

    我正在尝试运行 hello world 示例在这里找到 http activemq apache org hello world html I added activemq all 5 5 1 jar已经到图书馆了 它构建成功 但出现以下警
  • 全静态方法和应用单例模式有什么区别?

    我正在创建一个数据库来存储有关我的网站用户的信息 我正在使用 stuts2 因此使用 Java EE 技术 对于数据库 我将创建一个 DBManager 我应该在这里应用单例模式还是将其所有方法设为静态 我将使用这个 DBManager 进
  • AffineTransform.rotate() - 如何同时缩放、旋转和缩放?

    我有以下代码 它可以完成我想要绘制一个上面有一些棋子的棋盘的 第一部分 Image pieceImage getImage currentPiece int pieceHeight pieceImage getHeight null dou
  • 如何在 Java 中使用 StringUtils?

    我是 Java 初学者 我想用StringUtils replace但 Eclipse 输出 StringUtils cannot be resolved I tried import java lang 但它不起作用 java lang不
  • 如何在Java中打印保留2位小数的浮点数?

    我可以用System out print 您可以使用printf http java sun com j2se 1 5 0 docs api java io PrintStream html printf 28java lang Strin
  • 反应式 Spring Webflux REST 控制器内部重定向

    我正在为 spring 反应项目创建简单的控制器服务器 在设置重定向到另一个位置时 我在调用时发现错误http localhost 8080 There was an unexpected error type Internal Serve
  • 使用 Box2d(适用于 Android)进行碰撞检测?

    有人可以解释一下使用 box2d for android 进行碰撞检测的工作原理吗 我无法理解 BBContactListener 以什么方式工作 BBContactListener listener new BBContactListen
  • Elasticsearch - EdgeNgram + 突出显示 + term_vector = 不好的突出显示

    当我使用带有edgengram min 3 max 7 front term vector with positions offsets的分析器时 文档包含文本 CouchDB 当我搜索 couc 时 我的亮点是 cpu 而不是 couc
  • “___ 中的方法 ___() 是在无法访问的类或接口中定义的”编译错误

    我发现了一个奇怪的编译限制 我无法解释 并且我不明白这个限制的原因 示例1 考虑这些类 In package e1 public class C1 enum E1 A B C public E1 x In package e2 import
  • Java LRU 缓存使用 LinkedList

    堆栈溢出的新手 所以请不要介意我以菜鸟的方式问这个问题 我正在尝试使用链表实现 LRU 缓存 我在这里看到了使用 linkedHashMap 和其他数据结构的其他实现 但对于这种情况 我正在尝试使用链表创建最佳优化版本 正如我在技术期间被问
  • Spring Transactional 减慢了整个过程

    我正在尝试分析我有两堂课的情况 其中一个类是 ProcessImpl 它是起点并在内部调用其他子事务 我不知道出了什么问题 processImpl正在导入一些东西并将相关数据写入数据库 Specs Spring orm版本 3 2 18 发
  • 如何列出Resources文件夹中的所有文件(java/scala)

    我正在编写一个函数 需要访问资源中的文件夹 并循环遍历所有文件名 如果这些文件符合条件 则加载这些文件 new File getClass getResource images sprites getPath listFiles 返回空指针
  • Java 可变 BigInteger 类

    我正在使用 BigIntegers 进行计算 该计算使用一个调用 multiply 大约 1000 亿次的循环 并且从 BigInteger 创建新对象使其非常慢 我希望有人编写或找到了 MutableBigInteger 类 我在 jav

随机推荐

  • Angular2:更改表单验证错误的边框颜色

    尝试更改错误消息的边框颜色 这是我的 html 代码 div class form group div
  • 从对话框片段上的图库中选择照片时光标上出现空指针异常

    我正在尝试从图库中选择照片DialogFragment 但我越来越nullpointerexception初始化时cursor 有什么想法为什么会出现此错误吗 下面是我的代码 if resultCode Activity RESULT OK
  • 连接图中的桥

    我有一个编程任务 不是家庭作业 我必须在图中找到桥梁 我自己做了一些工作 但无法想出任何令人满意的东西 所以我用谷歌搜索了它 我确实找到了一些东西 但我无法理解它所呈现的算法 有人可以看一下这段代码并给我一个解释吗 public Bridg
  • OpenCV - 两个二值图像之间的交集

    假设我有两个相同大小的二值图像 如何找到两个二值图像之间的交集 只有两个白色图像 灰色 255 上相同坐标 位置 的像素才会在输出图像 交集 上给出白色像素 您可以使用cvAnd http opencv itseez com modules
  • Java 构造函数是否返回对象引用?

    我知道 Java 的构造函数不能有任何类型 有趣的是它甚至不能是void 对此的合理解释是构造函数返回初始化对象的引用 MyClass myObject new MyClass 的构造函数myClass现在将在实例化对象后返回对象引用并将其
  • 我可以免费获得 sql2008 的 sql profiler 吗?

    是否可以免费获得 sql2008 的 sql profiler 还是必须有许可证才能获得 即它不能与 sql express 一起使用 您可以使用 SQL Developer 版本获取 SQL Profiler 但之前三个答案是怎么写的 S
  • 在 JavaScript 中访问 PHP 变量 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 JavaScript 或 jQuery 中访问 PHP 变量而不是 https stackoverflow com questions 1808108 how to access php va
  • 如何在服务器端渲染 Three.js?

    如何渲染 Three js 服务器端 目前我们的网站在本地使用 Three js 渲染玩家头像 但这会带来安全问题以及低端计算机的潜在错误 人们可以将代码注入控制台并让它渲染天知道什么 我研究过使用node js 但所有相关文档都很模糊并且
  • 直接从 Angular 客户端订阅 Azure 事件网格主题

    我正在开发一个需要响应来自第三方 WebHook 的事件的应用程序 我选择 Azure Event Grid 作为我选择的事件代理 Angular 作为前端 Asp Net Core 作为后端 在我当前的解决方案中 我使用 HTTP 触发的
  • firebase 中的用户组

    A User定义为 public class User private String email private String uid private List
  • 即使显式设置区域性,也无法在 .NET 7 中重现 .NET Framework 字符串排序顺序

    我在 NET Framework 4 8 上运行一些遗留代码 这些代码对一些产品代码进行排序并将结果放入单个数据库列中 它已经运行了多年 积累了我无法轻易修改的数据 我需要它在 NET 7 上同样工作 代码很简单 Code new 123
  • 如何解决 TypeError: on_delete 必须在 Django 模型上可调用?

    突然我收到一条错误消息TypeError on delete must be callable 我不知道如何解决这个错误 因为我没有看到field models ForeignKey default 1 on delete CASCADE
  • 在R6RS方案中,有没有办法获取当前环境以供eval使用?

    R6RS方案中有没有办法获取当前环境 然后将其作为第二个参数传递给eval 例如 下面的表达式要返回 9 问号应该是什么 let x 4 y 5 eval x y 不 R6RS中没有这样的东西 一些罕见的实现可能支持类似的东西 但绝大多数
  • 如何在 R 中高效地生成向量?

    假设您有一个函数 它接受一个数字作为输入并输出一个向量 但是 输出向量的大小取决于输入 并且您无法在函数之前计算它 例如 采取3N 1著名算法 https en wikipedia org wiki Collatz conjecture 该
  • 如何使用 Spray-json 将 JsArray 转换为案例类序列?

    我有一个变量 var movieArray movieText parseJson 属于哪一类 println movieArray getClass class spray json JsArray 如何将其转换为案例类序列 例如 cas
  • 如何强制 Azure 存储帐户为经典帐户

    我们最近使用 Azure 资源管理器和模板构建了基础设施和应用程序部署框架 为了部署云服务 需要首先设置一个Azure存储帐户 截至最近 这是通过运行来完成的 Switch AzureMode AzureResourceManager Ne
  • 基于视图的 NSOutlineView 中 NSTextField 的委托事件?

    我有一个基于视图的完美功能NSOutlineView在我的项目中使用正确的设置数据源 现在我想允许用户更改某些条目 所以我做了NSTextField在IB中可编辑 对于基于细胞的NSOutlineView你可以使用委托方法outlineVi
  • 如何覆盖 Visual Studio 的菜单加速器快捷方式?

    我是一名基于 Mac 的 Net 开发人员 因此多年来我养成了将某些常用功能重新映射到一组更 Macish 的键盘快捷键的习惯 CUT Ctrl X gt Alt X COPY Ctrl C gt Alt C PASTE Ctrl V gt
  • Android Room SQLite_ERROR 没有这样的表

    我正在尝试使用安卓房间 https developer android com topic libraries architecture room html并在跟随之后本教程 http www vogella com tutorials A
  • 在 persistence.xml 之外定义 jpa 实体类

    有没有办法在 persistence xml 之外定义 jpa 实体类 即在单独的文件中 能够不将 persistence xml 作为外部文件也足够了 提前致谢 史蒂文 编辑 抱歉我没说清楚 这是在 Java SE 环境中 另外 我不想在