问题标签 [datanucleus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 运行 DataNucleus Enhancer 后的 java.lang.VerifyError
运行 datanucleus 增强器后,我得到了一个奇怪的行为。然后尝试生成 EntityManagerFactory,我在 java.lang.VerifyError 中运行,这是
该方法的原始声明是:
我发现java向字节码添加了一些合成桥接方法,这确实与错误匹配(见下文)。但通常这种方法可以和平共处。也许该错误根本与增强器无关,但是我没有其他直觉认为它是相关的。可能是什么原因?
和原始方法:
我在 servile 组合中使用了 datanucleus(DN) 和 datanucleus maven 插件(DNM2): (DN,DNM2) 1.1.4 , 2.0.0 和 2.1.1, 2.1.1 。堆栈跟踪是
java - DataNucleus中Query.execute()在什么情况下返回null
我还没有向我的数据库添加任何内容,因此根据我的计算,以下查询应该返回0的结果。
它返回null
javadocs 和结果文档都没有说明这个方法能够返回 null。我的猜测是我做错了什么。
http://db.apache.org/jdo/api20/apidocs/javax/jdo/Query.html#execute%28%29 http://www.datanucleus.org/products/accessplatform_2_2/jdo/jdoql_result.html
java - 当我在 JDO/DataNucleus 中为聚合函数调用 setResultClass(...) 时,会抛出 JDOUserException
使用以下代码
我得到这个例外:
javax.jdo.JDOUserException:查询将返回单个字段,但它与 ResultClass (java.lang.Long) 的类型不一致:它是 java.lang.Long
如果我删除.setResult(Long.class)
查询,它会起作用,我会得到一个 Long。
也许我不明白这个setResult()
方法。我知道我需要设置它来指示我想要什么类型的结果。但是,对于诸如 之类的聚合函数,情况不是这样count()
吗?
java - 增强netbean,DataNucleus中的类
嗨,我在为我的 JPA 使用 datanucleus 时遇到问题
我使用 netbeans 作为我的 IDE,我已经导入了 datanucleus 增强器 jar,但是每次我运行文件时,它都说我应该增强我的课程。
我已经在网上搜索了,但我仍然不确定该怎么做,有没有人能对如何提高我在 netbeans 中的课程有所了解?
谢谢XD
java - DataNucleus / NeoDatis - 数据库连接似乎关闭导致 Persistable 对象丢失
使用 DataNucleus 我在下面的第二个 INFO 语句中看到了一个问题(从底部开始的第二个条目)。
在使用 持久化对象后尝试读取或编辑对象时makePersistent()
,我只得到空值,INFO 日志表明该对象不再由持久性管理器管理(尽管我在makePersistent()
调用后立即执行这些编辑)。
我的猜测是与我的数据存储(本地嵌入/文件模式下的 NeoDatis)的连接正在关闭,因此持久性管理器停止管理它。但我只是使用 DataNucleusorg.datanucleus.jdo.JDOPersistenceManagerFactory
类来创建连接。
知道为什么会发生这种情况吗?我是否认为关闭的连接消息是问题所在?
为简洁起见,删除了 FQDN 的缩短的和无关的日志:
java - Neodatis 对象 DB / DataNucleus - 如何定义索引?
如何使用 DataNucleus 下的 Neodatis 对象数据库定义我知道将要查询的字段?
据我了解,@Index 注释似乎仅适用于关系数据库的 ORM。
orm - Datanucleus 模式生成忽略“继承策略 =”指令
我正在使用 JDO 的 Datanucleus 教程应用程序,特别是这个。
无论我尝试哪种“继承策略”,表格布局都是一样的。我想要两张表,一张用于 PRODUCT,一张用于 BOOK,但使用下面的配置,我只能得到 PRODUCT 表,其中包含 Product 类和 Book 类的列。
目录结构与教程中的完全相同,build.xml 也是如此。我尝试通过 Ant 任务和命令行生成模式。
我使用命令序列:
模式是生成的,但不是像 Datanucleus 文档建议的那样,它应该具有继承策略“竞争表”。
如果重要的话,我的目标数据库是在 Ubuntu 10.04 上运行的 PostgreSQL 8.4。
还有其他人遇到这个问题并找到了解决方案吗?
java - 如果数据库尚不存在,如何仅使用 autoCreateSchema?
我有以下问题:我将 DataNucleus 与 JDO 一起用于我的程序。我的 jdoconfig.xml 包含以下行:
如果我现在开始我的程序并且数据库还不存在,那么它就会被创建并且一切正常。
但是,如果我停止我的程序并重新启动它并且数据库已经存在,我会收到错误:约束 'USER_U1' 和 'USER_U1' 具有相同的列集,这是不允许的。
我如何告诉我的程序仅在架构尚不存在时才创建它?
datanucleus - Datanucleus fetchgroup 组合键
我正在尝试在 datanucleus 中使用复合键映射一个类。主键由两个外键组成,我似乎无法在 fetchgroup 中包含这些外部类:
使用注释:
作品
作品
但
才不是。
我该怎么做?
java - 引用 ID 而不是在 jdo 中使用外键?
我将 Datanucleus (jdo) 与 derby 一起使用,并且我有一个 MyClass 类。这个类有一个类型为 AnotherClass 的变量。我想保留这个变量。当 MyClass 的实例被持久化时,变量 AnotherClass 也会被持久化。
现在的问题是:当我持久化一个新的 MyClass 并且该实例具有与变量相同的 AnotherClass 实例时,我不想再次将其保存到 AnotherClass 表中,而只是通过 MyClass 表中的 ID 引用它。否则,我的 AnotherClass 表将保留大量相同的实例。
目前我的班级看起来像这样:
更新:
AnotherClass 类看起来像 MyClass 类。
我猜汤姆安德森的答案已经是正确的了。我正在创建新的 AnotherClass 实例并将它们放入 MyClass 实例中,例如 myClass.setAnotherClass(anotherClass)。所以我猜 anotherClass 是一个具有相同值的实例,但它仍然不是同一个实例,所以它在数据库中获得了自己的行,即使它在那里看起来完全一样(除了 ID)。
所以我想解决方案是:检查 AnotherClass 实例是否已经保存在数据库中,如果是:从数据库中获取它并将该实例设置为我的 myClass。如果不是:创建一个新实例并将其设置为 myClass 以便在持久化 myClass 时持久化。我应该这样做吗?
编辑:好的,现在我有一个新问题:我不能再删除 MyClass (= Character) 实例了。如果我尝试这样做,我会得到这个异常(AnotherClass = Faction):
当我这样做时就发生了这种情况:创建角色1,创建角色2完全相同的派系(它只在数据库中一次),尝试删除角色2。知道为什么吗?
EDIT2:忘记了一些重要的事情:
这就是我的角色课所说的。我有这个是因为如果没有角色使用它,我希望删除该派系。我想这就是问题所在?我现在该怎么做?