我有一个字段domainLevel1
,它将在其吸气剂getDomainLevel1()
内部进行计算。我在标准中使用此字段。
@Entity
@Table(name = "portal_bbc_budgetkey")
public class BudgetKey implements JsonSerializable {
.....
@Transient
private String domainLevel1;
public String getDomainLevel1() {
return "BLABLABLABLA";
}
.....
}
public List<BudgetKey> findByWord() {
Criteria criteria = sessionFactory.getCurrentSession()
.createCriteria(BudgetKey.class);
criteria.add(Restrictions.like("domainLevel1", "SEARCHME",MatchMode.ANYWHERE));
return criteria.list(); // => EXCEPTION
}
但是,findByWord()
给出以下异常:
Caused by:
org.hibernate.QueryException:
could not resolve property:
domainLevel1 of: nl.xxx.BudgetKey
我可以在条件内使用瞬变domainLevel1
吗?还是应该采用另一种方法来过滤不与列相关的字段(当然要使用条件)?
答案 0 :(得分:1)
这是因为domainLevel1
是一个瞬变变量,因此未与表中的任何字段映射,因此您无法在条件中使用它