【发布时间】:2010-11-03 01:46:40
【问题描述】:
我有 2 个类共享一个 UUID 并且是单向映射的。我使用 UUID 对相关行进行分组,并且该组共享许多细节(这只是一个示例):
@Entity @Table
class Something {
@Id @Column("something_id")
private Long id;
private String uuid = UUID.randomUUID().toString();
@OneToMany
@JoinColumn("uuid")
private List<Detail> details = new LinkedList<Detail>();
}
@Entity @Table
class Detail {
@Id @Column("detail_id")
private Long id;
private String value;
private String uuid;
}
我正在尝试使用标准:
Criteria c = getSession().createCriteria(Something.class).createAlias("details", "detail").add(Restrictions.eq("detail.value", someValue));
这一切都很好,但由于加入,我没有得到结果:
inner join DETAIL d1_ on this_.SOMETHING_ID=d1_.UUID
是否可以指定:
inner join DETAIL d1 on this_.UUID=d1.UUID
我本来希望加入使用@JoinColumn 注释来查找要加入的列。我看到我可以指定连接类型,但我没有看到指定实际列的方法。
【问题讨论】:
标签: java hibernate join criteria