【发布时间】:2013-11-18 22:53:21
【问题描述】:
我有一类电脑,每一台都可以组装。我需要检索具有汇编程序的计算机类的那些记录。我尝试使用条件,但无法检索它们。
@Entity
public class Computer{
....
@OneToMany
private Set <Assembler> assemblers;
....
}
@Entity
public class Assembler{
...
@OneToOne
private User user;
@OneToMany
@LazyCollection(LazyCollectionOption.FALSE)
private Set<Tools> tools;
....
}
@Entity
public class Tools{
....
@OneToOne
private Electronic electronic;
@OneToOne
private Manual manual;
}
代码
Criteria cre = session.createCriteria(Computer.class, "computer")
.createAlias("computer.assembler", "assem")
cre.add(Restrictions.not(Restrictions.eq("assem.id",null)));
List computer = (List<Computer>) cre.list();
System.out.println(computer.size()): << returns zero but should return 1
【问题讨论】:
-
你到底尝试了什么?
-
必须使用条件还是可以使用 HQL?
-
@Ean 没关系,我只需要检索正确的记录。
-
这是您需要的吗?
select distinct(computer) from Assembler -
汇编器没有计算机成员,但计算机有汇编器成员
标签: java hibernate hibernate-mapping