【发布时间】:2015-07-17 15:46:38
【问题描述】:
我有可以代表一棵树的表格。
key number(10) NOT NULL,
parentkey number(10) NOT NULL,
name varchar(20),
还有一个代表它的类。
@Entity
@Table(name = "example")
public class Example
{
@Id
@Column(name = "KEY")
private long key;
@Column(name = "NAME")
private String name;
@ManyToOne
@JoinColumn(name="parentkey",referencedColumnName="key")
private Example parent;
public Example()
{
parent = this;
}
当我尝试查询一个实例及其父对象时,我得到了
org.hibernate.QueryException: 无法解析属性: parent.name of: com.Example
这是我构建 Criteria 查询的方式:
Example dsd = ...;
...
Criteria crit = session.createCriteria(Example.class);
crit.add(Restrictions.eq("name", dsd.getName()));
crit.add(Restrictions.eq("parent.name", dsd.getParent().getName()));
return crit.list();
我可以在原始 sql 中执行此操作,但我不想这样做。我做错了什么?
【问题讨论】: