0

我有几个使用注释映射到数据库的对象类,需要一些帮助来解决如何组合 Hibernate 查询以获得我想要的结果。

我正在使用休眠 3.6.5。我一直在使用 Criteria,但对 Query 等感到满意,如果它有效的话!

我是 Hibernate 的新手(可以管理简单的标准来按属性过滤对象,但连接的东西是全新的),所以答案(或建议阅读)中的任何解释都会很棒。

RawRead 有一个包含字符串的标记代码字段。Checkpoint、IncidentItem 和 Guard 类也都具有 TagCode 属性。

我想检索 TagCode 与任何其他类(IncidentItem、Guard、Checkpoint)中的任何 tagcode 值都不匹配的所有 RawRead 对象。

一种大脑转储/伪 SQL 代码:

select raw.* from 
    RAWREADS raw, checkpoints c, GUARDS g, INCIDENTITEMS i 
    where 
    raw.tagcode != c.TAGNO
    and raw.TAGCODE != g.IDTAG
    and raw.TAGCODE != i.IDTAG;

我意识到这不会是有效的等,只是我的想法的一个例证。

你能建议用 Hibernate 语言看什么吗?

编辑/添加: RawRead 对象映射到 Guard 和 Checkpoint(有一个名为 checkpoint 的属性和一个名为 guard 的属性,它们都是这些类的实例 - 都是 @ManyToOne)。

IncidentItem 没有到其他类的任何映射。

4

1 回答 1

2

为了在 HQL 中连接对象,必须在应用程序级别的注释中映射它们之间的关系。如果没有映射关系,您将需要在普通 SQL 中执行这样的查询。

于 2012-08-07T17:07:05.717 回答