标准内的休眠瞬态场

时间:2018-07-04 14:29:03

标签: hibernate jpa

我有一个字段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吗?还是应该采用另一种方法来过滤不与列相关的字段(当然要使用条件)?

1 个答案:

答案 0 :(得分:1)

这是因为domainLevel1是一个瞬变变量,因此未与表中的任何字段映射,因此您无法在条件中使用它