私のプロダクションコードでうまく動作するJavaエンティティクラスがいくつかあります。私は非常に同じクラスを再利用しているこのアプリケーションの自動テストを書いています。OpenJPAから:FooBarにcolumを指定しましたが、このマッピングにこのコンテキストの列を含めることはできません
テストアプリケーションは、そのエンティティマネージャをこのように作成されています
Properties props = new Properties();
props.setProperty("provider", "org.apache.openjpa.persistence.PersistenceProviderImpl");
props.setProperty(...);
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("foobar-upgrade-restful-test", props);
EntityManager entityManager = entityManagerFactory.createEntityManager();
アプリケーションがそれを示すエラーメッセージがスローされます。
Caused by: <openjpa-2.2.0-r422266:1244990 fatal user error> org.apache.openjpa.persistence.ArgumentException: You have supplied columns for "com.foo.bar.server.commontypes.job.CompositeJob", but this mapping cannot have columns in this context.
at org.apache.openjpa.jdbc.meta.MappingInfo.assertNoSchemaComponents(MappingInfo.java:382)
at org.apache.openjpa.jdbc.meta.strats.FlatClassStrategy.map(FlatClassStrategy.java:51)
at org.apache.openjpa.jdbc.meta.ClassMapping.setStrategy(ClassMapping.java:392)
at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:56)
at org.apache.openjpa.jdbc.meta.MappingRepository.prepareMapping(MappingRepository.java:411)
at org.apache.openjpa.meta.MetaDataRepository.preMapping(MetaDataRepository.java:762)
at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:651)
... 72 more
私は実際には同じようなエラーメッセージを理解していませんエンティティBeanはGlassfishの下でアプリケーションで作業しており、persistence.xmlもほとんど同じです。 (テストでは、私が代わりにJTAのRESOURCE_LOCAL
TXを使用しますが、私はそれがこのエラーと関係を持っていることを疑う。
このエンティティの2つのXMLマッピングを取得します。おそらく彼らは、あなたが言ったように、ほとんど同じで、問題はマッピングに関連しています。 – dan
xmlマッピングはありません。私はアノテーションベースの設定を使用しているので、違いはありません。 – jabal
JPAの注釈をテスト環境(詳しく説明できます)でサポートしていますか?エンティティをpersistence.xmlにリストしていますか? – JScoobyCed