システムには次の 2 つのエンティティがあります。
@IdClass
Invoice: [InvoiceID, OrgID] は、Bean として表され、アノテーションを使用して Invoice に関連付けられた主キーです。WorkflowStates:は、アノテーション
WorkflowStateId
を使用して定義された主キー列です。@Id
両方のエンティティで、ID フィールド (InvoiceID、WorkflowStateId) は DB シーケンスを使用して自動生成されます。
新しく作成された Invoice のインスタンスで persist を呼び出すときに、InvoiceID を に設定する-1
と、インスタンスが保持され、ID が適切に生成されます。
ただし、WorkflowStateID が に設定された WorkflowStates の新しく作成されたインスタンスで永続化を呼び出すと-1
、persist()
例外がスローされます。
org.hibernate.PersistentObjectException: detached entity passed to persist: <Entity Class>
persist()
メソッドが PK として単一の列を持つエンティティと複合 PK を持つエンティティで機能する方法に違いがある場合、検索で多くを見つけることができませんでした。誰かこれについてもっと知っていますか?