我有兩個hibernate註釋類。我正在FirstTable上做一個hibernate查詢。從列表中檢索數據後,使用GSON將對象轉換爲JSON字符串。轉換後的JSON字符串也將包含子表的數據。我的要求是讀取第一級數據。它不應該查詢該子表。如何使用休眠模式讀取一級父數據
步驟試過
要擷取我已經從其拆卸的EntityManager對象(也嘗試session.evict)對象之後實現這一點。關閉休眠會話和實體管理器對象。試圖將對象轉換爲JSON。在做這件事的時候,我得到了LazyInitializationException。有沒有解決方法或有另一種方法來實現這一點。
@Entity(name = "FirstTable")
@Table(name = "FirstTable")
@AccessType("property")
public class FirstTable {
private SecondTable _SecondTable;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "SecondTable_ID")
public SecondTable getSecondTable() {
return _SecondTable;
}
public FirstTable setSecondTable(SecondTable value) {
this._SecondTable = value;
return this;
}
private long id;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="Id")
public long getId() {
return id;
}
public void setId(long id) {
this.id=id;
}
}
@Entity(name = "SecondTable")
@Table(name = "SecondTable")
@AccessType("property")
public class SecondTable {
private String _RandomCol;
@Column(name="RandomCol")
public java.lang.String getRandomCol() {
return _RandomCol;
}
public SecondTable setRandomCol(java.lang.String value) {
this._RandomCol = value;
return this;
}
private long id;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="OId")
public long getId() {
return id;
}
public void setId(long id) {
this.id=id;
}
}