Java 一对一/多对一关系的休眠条件
我在两个对象之间具有一对一/多对一关系,如:Java 一对一/多对一关系的休眠条件,java,many-to-one,hibernate-criteria,hibernate-onetomany,Java,Many To One,Hibernate Criteria,Hibernate Onetomany,我在两个对象之间具有一对一/多对一关系,如: public class Company { private Long compid; private String companyName; @OneToMany(mappedBy = "company", cascade = CascadeType.ALL) @LazyCollection(LazyCollectionOption.FALSE) private List<Employee> e
public class Company {
private Long compid;
private String companyName;
@OneToMany(mappedBy = "company", cascade = CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
private List<Employee> employees;
}
public class Employee {
private Long empid;
private String fstName;
private String lstName;
private String sal;
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "compid", nullable = true)
private Company company;
}
但我得到了一个错误:
could not resolve property: company.companyName of: Employee
此代码中的问题在哪里?您应该使用
标准。createCriteria
而不是标准。createAlias
您在标准的第三行添加了一个类似“company.companyName”
的空格。是打字错误吗?如果不是,那就是问题的原因。我找到了问题的根源,这是我的一个愚蠢错误,在我的原始代码中,我将compny.companyName放在了company中,我忘记了company中的“a”,它工作得非常好
could not resolve property: company.companyName of: Employee