[英]Hibernate Lazy Loading Issue
我在Hibernate 5中映射了這個實體
class A {
private String code;
private B child;
@LazyToOne(LazyToOneOption.PROXY)
@ManyToOne(fetch=FetchType.LAZY)
@NotFound(action=NotFoundAction.IGNORE)
@JoinColumns({...})
public B getChild() { ... }
}
我只加載A的查詢是:
from A where a.code like :q
通過這種配置,Hibernate在A和B實體上進行選擇。 我不希望它加載B但僅加載A
我想念什么?
我有同樣的問題,這是由Hibernate忽略了FetchType.LAZY(如果定義了NotFoundAction.IGNORE)引起的。
經過一番谷歌搜索后,我找到了一種解決方法: http : //chekkal.blogspot.com/2012/09/hibernate-lazy-loading-and-notfound.html
public FieldType getField() {
if(!Hibernate.isInitialized(field)) {
try {
Hibernate.initialize(field);
}catch(EntityNotFoundException one) {
field=null;
}
}
return field;
}
在Hibernate 5.4.2中,該異常已更改為EntityNotFoundException,但該替代方法似乎對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.