私はあまりにも簡単に思える問題に苦しんでいます:
セットアップは、Hibernate 3 で多対 1 の関係を持つ 2 つのエンティティです。
@Entity
class M {
private N n;
@ManyToOne(fetch = FetchType.LAZY)
public N getN() { return n; }
public void setN(N n) { this.n = n; }
}
@Entity
class N {
private List<M> ms = new ArrayList<M>();
@OneToMany(mappedBy="n")
public List<M> getMs() { return ms; }
public void setMs(List<M> ms) { this.ms = ms; }
}
簡単です。私のアプリケーションではM
、あるN
またはない のリストがあります。このリストはh:dataTable
、FK が null かどうかに応じて異なる列の内容を示す の入力です。しかし、m.getN() != null
これをテストすると、休止状態がロードされますN
。どうすればこれを回避できますか?
編集:コメントでJBNizetが指摘したように、これは実際には私のエラーです。少なくともこれを誰かの役に立ち、上記のレイアウトを維持するために、質問を「完全なエンティティをフェッチせずに、依存する Hibernate エンティティの外部キー列の値を取得するにはどうすればよいですか?」に言い換えました。Aaron Digulla の提案によると。
編集 2 : 新しい質問は、この質問の複製であることが判明しました:外部キー ID のみにアクセスするときに、Hibernate が結合されたエンティティをフェッチするのを防ぐにはどうすればよいですか? - それで、投票を締め切りますか?