【问题标题】:How to set a criteria with child table如何使用子表设置条件
【发布时间】:2019-08-13 16:00:33
【问题描述】:

我需要这样的查询:

select * from TABLE where Source_KEY in (1,2);

我的 Hibernate 类是这样的:

@Entity
@Table(name = "TABLE", schema = "SCH")
public class Table {
    private Long key;
    private Long id;
    private Source src;
}

Source is another entity class,
@Entity
@Table(name = "SOURCE", schema = "SCH")
public class Source{
private Long Source_KEY;
}

现在我已经写了一个标准,但它似乎有问题。 请任何人对此提出建议。

private static final List<String> STAY_SOURCE_KEY = asList(1,2);

criteria.add(Restrictions.in("Source_KEY", STAY_SOURCE_KEY));

这应该是 Source 类的列表,但如何在标准中找到它。它有 形成类似的查询

select * from TABLE where Source_KEY in (1,2);

【问题讨论】:

标签: oracle hibernate criteria


【解决方案1】:

您需要加入表格。使用

criteria.createAlias("src","s");
criteria.add(Restrictions.in("s.Source_KEY", STAY_SOURCE_KEY));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 2018-04-02
    • 2017-06-11
    • 2021-01-14
    • 2012-05-22
    • 1970-01-01
    • 2021-09-23
    相关资源
    最近更新 更多