問題タブ [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 - Nullable Date 列のマージの問題
Geronimo アプリケーション サーバー上で、openjpa を実装した JPA を使用しています。MySQLデータベースも使用しています。null 可能な Date プロパティを持つオブジェクトの更新に問題があります。Date プロパティが null に設定されたエンティティをマージしようとすると、SQL 更新スクリプトが生成されません (または、他のフィールドが変更された場合、SQL 更新スクリプトは生成されますが、日付フィールドは省略されます)。日付フィールドが null 以外の値に設定されている場合、更新スクリプトは適切に生成されます。
誰もそのような問題を抱えていましたか?
java - 初心者の質問: JPA の基本的な挿入イディオム?
私の "HelloJPA" コード (以下) は、従業員をデータストアに格納しようとします。ただし、(リソース ローカル) トランザクションをコミットした後に永続化されたオブジェクトを読み取ろうとすると、「IllegalStateException」が返されます。
OK、私はマネージャーが新しく割り当てられた従業員オブジェクトを所有し、トランザクションをコミットすると使用できなくなったと思います。しかし、この単純な操作を実装するための一般的なイディオムは何ですか?つまり、オブジェクトへの読み取り専用アクセスを維持しながら、データストアまでずっとオブジェクトを書き込みますか? ドキュメント (チュートリアルまたは API リファレンス) はこれに具体的に対処しておらず、リソース ローカル トランザクションを使用することがわかったコード サンプルは、コミット後にオブジェクトを読み取ろうとしないようです ... しかし、確かに簡単な方法が必要です。それをするために??
これに関するヘルプ/ポインタを事前にありがとう!
java - 双方向ManyToOneの問題
MessageとGeneratedMemberMessageの2つのエンティティがあります。ここでコードに示すよりも多くのフィールドがありますが、これらは私の質問のコンテキストに十分なものになるはずです。
私は単純な双方向のOneToMany関係を実行しようとしていますが、これまで読んだすべてのことから、これが実行される方法です。複合キーを使用していることに気付くでしょう。
次のエラーとスタックトレースが発生します。インターウェブの周りでこの問題を抱えている他の人を見たことがありますが、誰も私のために働く解決策を持っていません。誰かがここで問題を見ますか?
STが示唆しているように、私はWAS7.0でopenJPA1.2.2を使用しています。私はRAD7.5.4とEJB3.0で開発しています。
Message.java
GeneratedMemberMessage.java
私のEJBメソッド
スタックトレース
jpa - 親/子のJPA連結テーブル名@OneToMany
基本的な@OneToMany関係を使用しようとしています。
次のエラーが発生します。OpenJPAがテーブル名を連結するのはなぜAPP.PARENT_MESSAGE_CHILD_MSG_USER_MAP
ですか?もちろん、そのテーブルは存在しません。定義されたテーブルAPP.PARENT_MESSAGE
はAPP.CHILD_MSG_USER_MAP
原因:org.apache.openjpa.lib.jdbc.ReportingSQLException:テーブル/ビュー'APP.PARENT_MESSAGE_CHILD_MSG_USER_MAP'が存在しません。{SELECT t1.CHILD_ID、t1.PARENT_ID、t1.CREATED_TIME、t1.USER_ID FROM APP.PARENT_MESSAGE_CHILD_MSG_USER_MAP t0 INNER JOIN APP.CHILD_MSG_USER_MAP t1 ON t0.CHILDMESSAGES_CHILD_PAR_ 42X05]
hibernate - Hibernate for JPA以外のライブラリを使用する利点はありますか?
私はしばらくの間JPAを使用しており、HibernateAnnotationsとToplinkEssentialsの両方を使用したプロジェクトに参加しています。
プロジェクトリーダーがToplinkを選択したのは、Netbeansがそれを統合していて、簡単にできるように思えたからです。
ただし、ヘルプを探すとき、ほとんどの文献は、JPAプロバイダーとしてHibernateを使用していると想定しているように見えたので、問題は、JPAのデファクトスタンダードを使用しないことの利点、パフォーマンス、またはその他を見つけたかどうかです。休止状態ですか?
jpa - フィールドのタイプは、宣言された永続化戦略「OneToMany」でサポートされていません
JPA は初めてで、Message という pojo が という結合テーブルによって定義された整数グループ ID のリストを持つことができる、非常に単純な 1 対多の関係をセットアップしようとしていますGROUP_ASSOC
。DDL は次のとおりです。
ここにポジョがあります:
@Column
groupIds プロパティへのマッピングがないため、これが間違っていることはわかっていGROUP_ASSOC.GROUP_ID
ますが、うまくいけば、これは私たちがやろうとしていることを示しています。次のテスト コードを実行すると、<openjpa-1.2.3-SNAPSHOT-r422266:907835 fatal user error> org.apache.openjpa.util.MetaDataException: The type of field "pojo.Message.groupIds" isn't supported by declared persistence strategy "OneToMany". Please choose a different strategy.
ヘルプ!
jpa - JPAで整数のリストを永続化する?
整数のリストが必要なpojoがあります。例として、Message
pojoを作成し、のリストを関連付けたいと思いますgroupIds
(これらのIDは、照会してUIに表示する必要があります)。理想的には、次のようなことができるようにしたいと思います。
これにはJPAで1つのpojoしか必要ないという印象を受けましたが、ここでの説明によると、JPAはプリミティブ型ではなくオブジェクトの観点から機能するため、2番目のpojoを作成する必要があります。
その議論から、私は次のサンプルコードを試しましたが、エラーが発生しますopenjpa-1.2.3-SNAPSHOT-r422266:907835 fatal user error: org.apache.openjpa.util.MetaDataException: The type of field "pojo.Group.messageId" isn't supported by declared persistence strategy "ManyToOne". Please choose a different strategy.
DDL:
POJO:
テストコード:
これはすべてばかげているように見えます-整数のリストをモデル化するための3つのクラス(GroupKey複合IDクラスを含める場合)-より洗練されたソリューションはありませんか?
jpa - JPQLクエリのヘルプ
Message
提供されたリストにあり、現在のユーザーによるものGroups
ではないをクエリする必要があります。Deactivated
プロパティとエンティティを説明するためのいくつかの擬似コードを次に示します。
これが私が何を照会する必要があるかについての考えです、それは私がどのように行うべきかわからない最後のAND節です(私は複合NOT IN
式を作りました)。非アクティブ化されたメッセージをuserIdでフィルタリングすると、複数のmessageIdが発生する可能性があります。行のサブセットにmessageIdが含まれていないかどうかを確認するにはどうすればよいですか?
注:...
事前にgroupIdの数がわからないため、そこにあります。私はそれらをとして受け取るCollection<String>
ので、それらをトラバースして、JPQLに動的に追加する必要があります。
jpa - JPAクエリとタイムスタンプを比較するにはどうすればよいですか?
JPQLクエリに対して、過去30日以内の結果のみが返されるようにする必要があります。次に例を示します。
受け取ったエラーは次のとおりです。
ヘルプ!
java - SubclassFetchMode (Kodo OpenJPA) の設定は実際に何をしますか?
SubClassFetchMode などを EAGER_PARALLEL に設定すると、実際には何が行われますか?
サブクラスに別の FetchMode を持たせる必要があるのはなぜですか?
KODO と OpenJPA の実装仕様は悪名高く、私には理解できません。