に別のモデルからlazyilyロードされたモデルにアクセスしようとすると、私は休止
@Entity
@Table(name = "table_a")
public class A{
private Integer p1;
private B b;
@Id
@Column(name="id_a")
public Integer getP1() {
return p1;
}
public void setP1(Integer p1) {
this.p1 = p1;
}
@ManyToOne
@JoinColumn(name = "t1")
public B getB() {
return b;
}
public void setB(B b) {
this.b = b;
}
@Transient
public String getBVal(){
if(b != null){
return b.getT2();
}
return null;
}
}
以下のような2つのHibernateのモデルを持っており、他のモデルBは、この
@Entity
@Table(name = "table_b")
public class B{
private int t1;
private String t2;
@Id
@Column(name = "t1")
public int getT1() {
return t1;
}
public void setT1(int t1) {
this.t1 = t1;
}
@Column(name = "t2")
public String getT2() {
return t2;
}
public void setT2(String t2) {
this.t2 = t2;
}
}
のように見える私が使用したときに問題があります私のコードでクラスAの "getBVal"メソッドが時々私に奇妙なNullpointer Exceptionをスローする 対応するトランジェントメソッドのヌルチェックが既にあるので! なぜこのnpeが来るのか、どのように私はこれを避けることができますか?
ありがとうございました! Bは、属性が、関係、次のようになりマッピングの正しい方法ではないので
ログを共有できますか?ありがとうございました! – Aurasphere
データベースの整合性をチェックしてください。これは、別のテーブルから存在しないIDを指すときに発生します。 – maszter