JSF 2.1、Netbeans 7.0.1、Glassfish 3.1.1、JPA + EJBを使用しています。JPAの他のエンティティクラスへの参照を持つエンティティを保持する
たとえば、Userというエンティティクラスがあり、エンティティクラスUserTypeとの参照(多対1の関係)があります。
エンティティUserTypeに関連付けられたuser_typeテーブルには、すでにすべてのユーザタイプがロードされており、このテーブルに追加されるデータはありません。テーブルuser_typeからのデータは、選択にのみ使用されます。
フォームの1つでは、ユーザーに h:selectOneListBoxタグを使用して作成されるUserTypeを選択するように求めます。バッキングBeanでは、新しいUserTypeオブジェクトを作成し、選択したIDをそれに設定し、UserTypeをUserエンティティクラスに配置します。ただし、作成されたUserTypeの他のフィールドはすべてnullです。
私の質問は、JPAはUserエンティティによって参照されるIDを持つUserTypeがすでにデータベースに存在し、既存のレコードを更新(マージ)して作成しようとしないことをJPAに理解させます。新しいもの。 または、必要なエンティティUserTypeをIDでデータベースから事前にロードしてから、UserTypeとUserTypeを更新するようJPAに問い合せる必要がありますか?