gpt4 book ai didi

java - 无法在没有 JDO 注释的情况下使用 DataNucleus 增强器

转载 作者:行者123 更新时间:2023-12-01 11:15:45 26 4
gpt4 key购买 nike

我正在尝试使用 JDO api 的 DataNucleus 仅使用 XML 来定义持久性模型,而不添加像 @PersistenceCapable 这样的注释。如果我确实理解了这两个文档,那么这应该是 JDO 和 DataNucleus 都支持的东西。

例如,如果我删除 datanucleus example 中 Book.java、Inventory.java、Product.java 的所有注释并运行 mvn cleancompile 我应该完成工作,因为 package.orm 定义了这些类,但所有这些类我都收到以下错误:

(main) DEBUG [DataNucleus.MetaData] - Class org.datanucleus.samples.jdo.tutorial.Inventory was specified in persistence-unit (maybe by not putting exclude-unlisted-classes) Tutorial but not annotated, so ignoring

....

(main) INFO [DataNucleus.Enhancer] - DataNucleus Enhancer completed with success for 0 classes.

我缺少什么?

实际配置文件:

persistence.xml
...
<persistence-unit name="Tutorial">
<class>org.datanucleus.samples.jdo.tutorial.Inventory</class>
<class>org.datanucleus.samples.jdo.tutorial.Product</class>
<class>org.datanucleus.samples.jdo.tutorial.Book</class>
<exclude-unlisted-classes/>
...
</persistence-unit>
...

package-h2.orm
<orm>
<package name="org.datanucleus.samples.jdo.tutorial">
<!-- persistence-modifier is by default equal to: persistence-capable -->
<class name="Inventory" table="INVENTORIES" >...</class>
<class name="Product" table="PRODUCTS">...</class>
<class name="Book" table="BOOKS">...</class>
</orm>

最佳答案

ORM 元数据将覆盖 JDO 元数据。因此,您需要注释或 JDO XML 元数据文件 (package.jdo)。

persistence.xml 中的

“类” 条目是指定有注释的类,而你说你没有。

persistence.xml 中的

“映射文件” 条目是指定 XML 元数据文件...而您尚未指定任何文件。

关于java - 无法在没有 JDO 注释的情况下使用 DataNucleus 增强器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31836877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com