问题标签 [openjpa-maven-plugin]

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.

0 投票
1 回答
855 浏览

postgresql - 将 JDBC URL 传递给 openjpa-maven-plugin 以刷新 PostgreSQL 中的数据

pom.xml我有(取自http://struberg.wordpress.com/2012/05/10/using-jpa-in-real-projects-part-1/):

由于某种原因,URL 没有正确传递,我得到了

目标 org.apache.openjpa:openjpa-maven-plugin:2.2.0:sql 的执行增强器失败:无法为驱动程序类“org.postgresql.Driver”和 URL“null”获取连接。您可能指定了无效的 URL。(org.apache.openjpa:openjpa-maven-plugin:2.2.0:sql:enhancer:process-classes)

我试过用 , 等替换in 。没有任何帮助jdbcUrl。但是,我可以输入 URL ,这确实有效:connectionPropertiesurlURLpersistence.xml

驱动程序、用户和密码是从 Maven 属性中获取的。但是,由于此 URL 仅用于生成 DDL(数据源在运行时以不同的方式创建),因此我更希望将它也放入其中pom.xml而不会污染persistence.xml. 有没有办法做到这一点?

0 投票
1 回答
1463 浏览

openjpa - OpenJPA、Tomcat 7、Eclipse 和 maven - 增强不起作用

所以我决定试一试OpenJPA,但到目前为止我还没有运气。我尽我所能:http ://struberg.wordpress.com/2012/01/08/jpa-enhancement-done-right/org.apache.openjpa.persistence.ArgumentException:类型“com.MyClass”没有得到增强。是问题所在。

我试图按照这些步骤来解决它,因为我对 ANT 很不熟悉。

  • 添加maven插件

    • 所以现在当我尝试清理项目然后服务器,然后使用 maven 和mvn clean process-classes 它然后成功地增强了我指定的类。

    • 启动服务器并尝试一个与hibernate一起使用的简单持久化,它给了我:

openjpa-2.2.0-r422266:1244990 致命用户错误> org.apache.openjpa.persistence.ArgumentException:类型“com.myproject.core.domain.MyClass”尚未增强。FailedObject: com.myproject.core.domain.MyClass@aecda16 [java.lang.String] at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1823) at org.apache.openjpa.meta.ClassMetaData。 resolve(ClassMetaData.java:1797) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:822) at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:719) at org.apache .openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:643) 在 org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:411) 在 org.apache.openjpa.meta.MetaDataRepository。

坦率地说,即使我让它发挥作用,我也不真正理解合理的工作流程应该是什么样子。也许使用其他策略或其他东西?

希望得到一些指示和提示,当然可以帮助解决问题。

干杯

0 投票
1 回答
2376 浏览

struts2 - Maven Open JPA Plugin Enhance:似乎可以工作,但它没有增强我的实体

当我编译我的 Maven 项目时,它说我的实体得到了增强。但是,当我通过 EntityManagerFactory 启动数据库连接时,此处的代码发生错误:em = factory.createEntityManager(); 我相信我已经遵循了网络中的所有步骤。但是我遇到了这个错误。请帮忙..关于这个有什么建议吗?非常感谢。

导致错误的代码的错误部分。

Tihs 是编译时的日志。

进入 em.factory.createEntityManager() 时出错;

POM.XML

持久性.xml

关于ANT风格的构建是这样的,这是在BUILD.XML中找到的可能我的enhancer没有post compile enhance吧?如果是,您如何在 Maven 中进行后期编译增强?

build.xml 以增强 ant 中的实体。

0 投票
1 回答
288 浏览

spring - OPEN JPA find() 无法从我的数据库中检索实体的值

我在用户登录程序中遇到了一个奇怪的场景。

  1. 插入记录..用户名密码等。
  2. 使用merge()插入记录;
  3. 然后关闭 IDE (Netbeans)
  4. 打开 IDE Netbeans 然后启动服务器,启动数据库连接。
  5. 打开登录浏览器。
  6. 使用插入的记录登录。
  7. 我的程序无法检测到桌子上的记录。

调试时,在 find() 之后它不会填充我的实体。也许还有另一个步骤来填充实体?

登录动作

验证程序

/* * 要更改此模板,请选择工具 | 模板 * 并在编辑器中打开模板。*/ 包 lotmovement.business.crud;

导入lotmovement.business.entity.UserProfile;

/** * * @author god-gavedmework */ public class RecordExistUserProfile {

}

实体

按照建议使用 Trace,这是 SQL 的日志

这是记录:

添加了 Persistence.XML

我发现了问题的根本原因。这是关于我如何在 Spring Plugin 中实例化类。

当我将 find() 语句更改为下面时,它现在可以工作了。

但是我怎样才能使用 Spring 初始化这个呢?下面的代码不起作用?

0 投票
1 回答
95 浏览

spring - 如何注入这种类功能。春季开放 JPA

如何在这种语句中注入类 UserProfile?这是使用 Struts2 - Spring 插件。

( UserProfile userProfile = em.find(UserProfile.class,"1");) ---> 我不知道如何在春季更改注射风格?

我的 Spring 注入不起作用。我使用 setter 注入了 UserProfile 实体,但我认为存在问题,因为它无法检索任何数据。

完成课程

0 投票
1 回答
1482 浏览

jboss7.x - 使用 openJpa 模块时,slf4j 在 JBOSS 中不起作用

当我不使用 openJpa 时,我的 EAR 应用程序运行良好。一旦我使用 open JPA,我就会得到“SLF4J 无法加载类 blaaa”。如何配置 openJpa 模块以使用我从 pom.xml 提供的 SL4J 并避免该错误?

我使用 JBOSS 7.1.1

pom.xml

…………

openjpa 模块.xml

jboss-部署-结构.xml

错误

0 投票
1 回答
853 浏览

spring - Fixing OpenJPA entities enhancements in OSGi environment

I'm trying to deploy my bundle in an OSGi container (namely Apache Servicemix). In it, I have my OpenJPA entities. I'm using OpenJPA version 2.3.0. When I try to access those entities through my Spring beans, using EntityManager, I get this error:

Keep in mind that my persistence unit is called "model" - for a clearer overview. Can anybody help me to enhance my entities with maven?

Bellow is my snippet form my pom.xml:

Can anybody also tell me what should I put instead of entity in includes/excludes tags? Just having this, the error provided above occurs. I think I'm close to the solution, but can't manage to get it working.

0 投票
1 回答
101 浏览

osgi - 使用代码在 OSGi 环境中增强运行时

问题:1. JPA 类/实体位于 Bundle 1 和 Bundle 2 中,使用相同的持久性单元 2. Bundle 3 试图访问(用于 DB API 抽象的包装 API)Bundle 1 和 Bundle 2 中的类。 3. 运行时增强不是在职的。

所以我打算做的是使用 Code 来增强 JPA 实体,在 bundle 3 出现之前,Bundle 1 中的这些实体可以得到增强。我计划这样做,因为运行时增强没有完成并且捆绑 3 出现了。由于未创建表,这会导致 DB API(Bundle 3 API)失败。

0 投票
1 回答
2977 浏览

java - OpenJPA 2.x 上的实体增强

我正在使用 Spring 和 OpenJPA 进行项目。我有一个用例,我需要在不同的项目/Maven 模块中创建相同数据源的实体。

方法一:

我的 Maven 项目核心实体有两个模块,其中包含一组具有特定功能的实体。

模块 A - 实体 1、实体 2、实体 3 模块 B - 实体 4、实体 5、实体 6

我为每组实体创建了单独的持久性单元和持久性 xml。当实体在各自的 Maven 模块中得到增强时,它可以正常工作。

方法 2: 在这种方法中,我为上述实体提供了单独的模块,但唯一的区别是我对两组实体都使用了一个持久性单元。我添加了 openjpa-maven-plugin 来增强两个模块中的实体。在这种情况下,当使用 maven 插件增强实体时,它会给出异常,说在运行时没有为模块 A 中的实体找到元数据。是不是因为当实体被增强时,模块A中实体的元数据在运行时会丢失。这个问题不会出现在模块B的实体中。

关于这个问题我有几个问题:

1)是否建议为同一数据源使用多个持久性单元(如方法 1 中所做的那样)?

2)有什么方法可以增强单个持久性单元和不同的Maven模块中的实体?

3)除了使用eclipse和maven插件之外,还有其他实体增强方法吗?

下面是每个模块的 pom.xml 中的插件:

0 投票
0 回答
551 浏览

java - XML-less @Configuration(无 persistence.xml)和 openjpa-maven-plugin

试图将我的应用程序(spring + jpa)转换为基于 @Configuration 的 spring 注释并摆脱 spring 应用程序上下文 xml 和 persistence.xml。除了我用于构建时间类增强的 openjpa-maven-plugin 2.2.2 之外,如果没有persistence.xml 抛出错误,一切都将无法工作:

[错误] 无法在项目 myapp 上执行目标 org.apache.openjpa:openjpa-maven-plugin:2.2.2:enhance (enhancer):目标 org.apache.openjpa:openjpa-maven-plugin:2.2.2 的执行增强器:enhance failed: MetaDataFactory 无法配置(conf.newMetaDataFactoryInstance() 返回 null)。这可能意味着找不到配置属性。确保您有一个 META-INF/persistence.xml 文件,它在您的类路径中可用,或者您用于配置的属性文件可用。如果您使用的是 Ant,请查看任务嵌套元素的 或 属性。如果您的 OpenJPA 分发 jar 损坏,或者您的安全策略过于严格,也会发生这种情况。

插件的配置是:

但是,它可以在 persistence.xml 存在但只包含空的持久性单元(我有 3 个)的情况下工作:

因此,openjpa-maven-plugin 可能从中获得的唯一信息是持久性单元名称,如果它甚至真的需要它们的话。

有什么方法可以在没有persistence.xml的情况下实现构建时openjpa类增强?