2
我在我的java項目中使用Hibernate。我有以下實體結構:訪問惰性加載字段的ID時出現LazyInitialization異常
@Entity
@Table(name = "car")
public class Car implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "engine_id", nullable = false)
private Engine engine;
}
現在,當我從數據庫加載Car
實體,顯然Engine
實體將不會被加載,因爲它是延遲加載的領域,但對於Engine
的ID(主鍵)會加載。
現在,如果我做car.getEngine()。getId(),那麼它會拋出LazyInitialization異常。由於Id部分已經加載,爲什麼getId()會拋出異常?
請發佈例外,如果你得到一個...另外,可能http://stackoverflow.com/questions/9250414/hibernate-getid-is-loading-the-object-even-though-it-is-lazy解釋你的問題(如果你的引擎類也註釋了你的字段) – MikeN 2013-03-28 10:47:18