コレクションからオブジェクトをフェッチすると、 TransientObjectException が発生します: オブジェクトは保存されていない一時インスタンスを参照しています - フラッシュする前に一時インスタンスを保存します: com.report.Object2.obj3 -> com.report.Object3
以下は私のオブジェクト構造です:
@Table( name = "TAB1" )
Class Object1 {
... fields
@OneToMany( mappedBy = "field", fetch = FetchType.LAZY )
private List<Object2> obj2List;
}
@Table( name = "TAB2" )
Class Object2 {
... fields
@ManyToOne
@JoinColumn( name = "J_ID", referencedColumnName = "J_ID" )
private Object3 obj3;
}
@Table( name = "TAB3" )
Class Object3 {
... fields
@Column( name = "J_ID" )
private Long jId;
}
注:これでレコードを挿入していません。DBからレコードを取得するだけです。
したがって、DB から Object1 をフェッチし、Object2 のリストから Object3 を取得しています。Object2 から Object3 のゲッターを呼び出すと、この例外が発生します。
ここで何か不足している場合と、この例外が発生する理由を教えてください。
前もって感謝します。