【问题标题】:How to convert SQL to a JPQL query?如何将 SQL 转换为 JPQL 查询?
【发布时间】:2018-10-29 18:10:41
【问题描述】:

我有这个返回计数的 SQL 查询

头等舱:

public class Niveau2  implements Serializable{
    @Id
    @GeneratedValue
    private int id2emeniveau;
    private int ok;
    private int next;
    private Date date;

    @ManyToOne
    @JoinColumn(name = "idzebra")
    private Zebra zebra;

二等:

public class Zebra implements Serializable {
    @Id
    @GeneratedValue
    private Integer idzebra;
    private String type;
    private int resolution;
    private int reseau;
    private String adresseip;
    private String snum;
    private Date dateaqui;
    private Integer affectter;
    private int etat;
    private String poste, ligne, zone, pole;

    @OneToMany(mappedBy = "zebra")
    private List<Niveau2> niveau2;

SQL:

SELECT COUNT(ok) FROM mydb.2emeniveau 
INNER JOIN mydb.zebra ON zebra.idzebra=2emeniveau.idzebra 
WHERE 2emeniveau.ok='0' AND zebra.pole='ADT'"

我想转成jpql

【问题讨论】:

  • 你为什么不想让它成为一个 SQL 查询呢?您没有获取任何实体,因此您并没有真正从 JPQL 中获得太多。随着查询的发展,使用 SQL 可能会比使用 JPQL 更有用...

标签: java mysql spring hibernate jpql


【解决方案1】:

试试这个:

SELECT COUNT(nv2) FROM Niveau2 nv2 
JOIN nv2.zebras zebras 
WHERE nv2.ok = '0' AND zebras.pole = 'ADT'

【讨论】:

    猜你喜欢
    • 2017-10-29
    • 1970-01-01
    • 2011-09-29
    • 2021-10-09
    • 2011-06-12
    • 2019-07-13
    • 1970-01-01
    • 2013-09-17
    • 2011-07-05
    相关资源
    最近更新 更多