0

だから、これが私がやりたいことです。私はすでにopenerpで見つけることができたので、好きな人もいます。

たとえば、JPA永続エンティティでもあるBeanを簡単に宣言できると思います。

例.java:

package my.project;

@Configurable
@Entity
public class Example {
    String a;
    String b;
...
}

もちろん、このクラスにはすでに JPA 永続性インジェクションが含まれているため、Java コードから通常の JPA に基づく永続性クラスとして処理できます。私の目標は、そのインスタンスのいくつかを Spring から宣言することですapplicationContext.xml:

applicationContext.xml:

<bean class="my.project.Example">
    <property name="a" value="test_a"/>
    <property name="b" value="test_b"/>
</bean>

本当に面白かったと思うこと:

  1. 新しく作成されたインスタンスのpersist()メソッドは、Spring の初期化から呼び出す必要がありましたが、DB にまだ存在しない場合に限られます。
  2. 存在する場合、インスタンスは永続的な JPA ストレージからロードする必要があります。

それはどういうわけか可能ですか?タスクのサンプルコードはありますか? :-)

4

2 に答える 2

1

代わりにファクトリメソッドを使用することを考えましたか? 内部にエンティティマネージャを挿入し、内部で検索/保存を呼び出すことができます。ファクトリ メソッドは、データベースから Bean インスタンスを返すか、新しいインスタンスを作成して永続化します。私にとって、これはより良い解決策であり、テストでも簡単にモックできます。

于 2014-09-29T10:00:00.373 に答える