问题标签 [openjpa]
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 - 尝试将数据输入数据库时出现 InvalidStateException
我有一个方法可以返回特定 DB 的实体管理器。现在,当我第一次使用该方法来获取实体管理器时,一切正常。我可以使用实体管理器将数据保存到任何表 A、B、C 中。现在说我保存在表 B 中时出现异常
现在,当我在收到上述异常后尝试对 DB 执行任何操作时,下次我尝试运行相同的代码时,它在表 A 本身更新时失败。我可以看到以下错误
jpa - 打开jpa的问题
使用 open jpa 时,我在控制台上收到以下错误。可能的原因是什么?我无法发布代码,因为它违反了我的公司政策。
java - 删除记录的问题
我有一个实体管理器 em1 .em1 在 db1 table1 上启动一个事务 tx。现在在 tx 内我调用一个 API getdata()。这个 API 创建一个新的实体管理器 em2 并返回 1 条记录。现在如果实体管理器 em1 尝试删除返回的记录被 em1 挂起。代码超时。记录是否被 em1 锁定。如何解决这个问题?
java - 在 JPA2 中创建 EntityManager 时出错
我正在尝试创建一个简单的 JPA2 应用程序,该应用程序使用 OpenJPA 实现将某些内容保存到数据库中。我正在运行 Derby 并使用默认的嵌入式 JDBC 驱动程序。我一直在为此挠头,试图弄清楚缺少什么。我敢肯定这是微不足道的,但如果有人能仔细检查一下并指出我正确的方向,我会非常感激。谢谢。
这是我的persistence.xml:
当我运行这段代码时:
调用 createEntityManager() 方法时失败。
jpa - OpenJPA 模式配置
我在带有 DB2 的 WebSphere 上使用 OpenJPA 1.2.3。有没有办法以允许同一应用程序(EAR)根据环境(DEV、ACPT、PROD 等)更改架构名称的方式构建和捆绑我的应用程序。
我的 PU 设置为容器管理,如下所示:
我已经考虑将它放在 ORM.xml 中,但这仍然是模式的静态值,并且不会将设置外部化;而且,它似乎不起作用(我已经看到很多讨论这个问题的线程)。我也考虑过将此配置放入 WebSphere 数据源中;这似乎也不起作用。
——基思
jpa-2.0 - 具有托管事务的 JPA 2 不持久化对象
我正在使用 JPA 2 的 OpenJPA 实现,并且在将对象持久保存到数据库时遇到问题。我想使用由容器(Websphere)管理的事务,所以我的理解是,由于事务是受管理的,因此不需要像 tx.begin()、tx.commit() 等样板代码。
我在持久化构建时执行的代码是这样的:
代码运行,并且没有抛出异常。当我检查数据库时,没有任何东西被持久化。我是否遗漏了什么,或者这是否足以让对象与容器管理的事务一起存在?
jpa-2.0 - 无法从 HSQLDB 生成 JPA 实体
我正在为我当前的项目使用 OpenJPA 和 HSQLDB。
但我无法从 HSQLDB 生成 JPA 实体,因为 eclipse 插件没有给我选择模式的选项。
有人对此有想法吗?或者有没有其他方法可以在eclipse中生成实体?
jpa - jpa 查询集合上的实体在列表中的位置
可能不是标题中最好的描述,但我有 3 个实体
订单 -> 一对多 -> 订单产品
和
订购产品 <- 多对一 -> 产品
产品 <- OneToMany -> OrderProduct ,
我的本机查询是
是否有任何方法可以在一次选择中以 JPA 方式执行此操作,因为我有我的集合和实体急切加载连接,以便一次性填充对象图
java - 在tomcat中从aar加载persistence.xml
我有一个基于 openJPA 的项目,我需要将它以aar格式部署到 Tomcat 下的以下文件夹中。
tomcat\webapps\axis2\WEB-INF\services
但似乎该服务无法加载aar文件中 META-INF 文件夹中的 persistence.xml文件。我找到了将aar文件重命名为jar的解决方案,例如 DummySerivce.aar -> DummySerivce.jar 然后将 DummySerivce.jar 放入 lib 文件夹中,确切地说
tomcat\webapps\axis2\WEB-INF\lib
这一次,persistence.xml 可以加载并且服务运行良好。但这不必要地导入了一个未包含在规范中的 jar 文件。
所以我的问题是,有没有办法从aar文件加载 persistence.xml?是否可以在代码中重载persistence.xml 文件的路径?
顺便说一句,persistence.xml 中只留下实体信息,数据库连接参数已经在代码中定义,我使用的是 Axis2。
谢谢!
java - OpenJPA 增强 Spring ROO 批处理应用程序
我对 OpenJPA 很陌生,想运行我的应用程序。我已经创建了一个 main 方法并在那里加载上下文 XML 并启动一个事务来运行我的服务。但是当我运行它时,我得到一个
org.apache.openjpa.persistence.ArgumentException:“class tld.myproject.domain.Entity”类型尚未增强。
我搜索了一下,发现我需要添加一个增强器,所以我在命令行中添加了以下内容:
-javaagent:/home/me/.m2/repository/org/apache/openjpa/openjpa/2.0.1/openjpa-2.0.1.jar
现在,我明白了
java.lang.LinkageError:加载程序(sun/misc/Launcher$AppClassLoader 的实例):尝试重复的类定义名称:“org/springframework/stereotype/Controller”
也许只是太晚了,我的头还没拧好,但是,这里到底发生了什么?我需要做什么才能让我的 Spring Roo 批处理项目运行?
干杯
尼克
PS,我可能应该在我的 pom.xml 中添加 Roo 为编译阶段定义了一个增强器