私はJPAの初心者です。私と一緒にいらしてください。 私は使用するオプションを決めることができないので、 。JPAはフィールドアクセス、create.query、update.query、プロパティアクセス、findとsetterを使用する必要があります
オプション1: 私は、エンティティのフィールド上の注釈を配置し、コンストラクタでのみ作成時にオブジェクトへの書き込みアクセスを許可する(して、データベースに保存します)。私が理解しているように、JPAマネージャーは、フィールドアクセス(hierと記されている)以来、更新クエリを実行することができます。 このようにして、エントリを更新または変更したい場合は、新しいクエリを作成する必要があります。 しかし、これらのクエリを自分で作成する必要があります(hier)。
オプション2: 私はゲッター/セッターの上に注釈を配置し、プロパティアクセス を使用して、一緒にセッター(hierのような)とエンティティマネージャの方法を見つけてください。これは私のためのクエリを作成しますが、設定者は作成後(データベースに追加する前に)オブジェクトを変更できるようになりました。
私の意見も hierトップの答えは、エンティティを更新する正しい方法は、あなただけのセッターで更新してみましょうにしたい プロパティを設定することであるセッター
を使用することを推奨していながら、 JPAのフラッシュの代わりに、手動で
Hier有する第2の答えを(それを書く時にあなたのための 更新SQLを生成しますほとんどのアップフォース)は、フィールドアクセスが道にあると述べています。
私は混乱していますが、おそらく2番目のオプションをコンストラクタとともに使用し、Entity Managerに対してのみsetterを使用し、settersパッケージを非公開にします。
のJava EE6
- イムとJPA 2.0 私はSAPの花クラウドプラットフォームと そこtutorial使用していることで動作することを言及している必要があります最初のオプションはセッターで、代わりに のコンストラクターです。
質問: 私はJPAの初心者として、唯一のエントリ1-30日後に削除されますログ記録の目的のためにデータベースのオプション1または2を使用する必要があります。 ?
http://stackoverflow.com/questions/4188048/why-should-anybody-put-annotations-on-the-getters-or-setters -when-using-jpa-to-m – perissf
私はそれを前に読んでいて、2番目のオプションをサポートしています。今は特定のアクセス部分を見ています。 – MADforFUNandHappy