Java 如何为嵌套实体建立休眠条件
这是一个非常重要的问题。但我需要问一下。 我们如何构建hibernate复杂标准? 我写了两个简单的类,其中一个类引用了另一个类。 这是我的课Java 如何为嵌套实体建立休眠条件,java,hibernate,Java,Hibernate,这是一个非常重要的问题。但我需要问一下。 我们如何构建hibernate复杂标准? 我写了两个简单的类,其中一个类引用了另一个类。 这是我的课 public class CourseEntity extends BaseEntity { @OneToOne private CourseTypeEntity type; @OneToOne private CompanyEntity company; } 及 试图建立这样的标准 crit = session.c
public class CourseEntity extends BaseEntity {
@OneToOne
private CourseTypeEntity type;
@OneToOne
private CompanyEntity company;
}
及
试图建立这样的标准
crit = session.createCriteria(CourseEntity.class, "c");
crit.add(Restrictions.eq("c.id", 1l));
crit.add(Restrictions.eq("c.type.id", 1l));
crit.add(Restrictions.eq("c.company.id", 1l));
crit.add(Restrictions.like("c.company.name", "oracle"));
是获取company.name筛选器的正确方法,每当添加最后一行时,它都会抛出异常
是否有人可以帮助解决此问题,或者以其他方式解决此问题
谢谢尝试添加别名:
crit = session.createCriteria(CourseEntity.class, "c").createAlias("c.company", "company");
crit.add(Restrictions.eq("c.id", 1l));
crit.add(Restrictions.eq("c.type.id", 1l));
crit.add(Restrictions.eq("company.id", 1l));
crit.add(Restrictions.like("company.name", "oracle"));
crit = session.createCriteria(CourseEntity.class, "c").createAlias("c.company", "company");
crit.add(Restrictions.eq("c.id", 1l));
crit.add(Restrictions.eq("c.type.id", 1l));
crit.add(Restrictions.eq("company.id", 1l));
crit.add(Restrictions.like("company.name", "oracle"));