[英]QueryDSL, Hibernate, JPA — using .fetchJoin() and getting data in first SELECT, so why N+1 queries after?
[英]Hibernate queries - why are they so weird?
我只是在看控制台,而我发现Hibernate查询看起来很糟糕。
Hibernate: select client0_.id as id1_1_0_, client0_.address as address2_1_0_, client0_.name as name3_1_0_, client0_.client_no as client_n4_1_0_, client0_.ssn as ssn5_1_0_ from clients client0_ where client0_.id=?
Hibernate: select orders0_.CLIENT_ID as CLIENT_I5_1_0_, orders0_.id as id1_0_0_, orders0_.id as id1_0_1_, orders0_.CLIENT_ID as CLIENT_I5_0_1_, orders0_.ORDER_DATE as ORDER_DA2_0_1_, orders0_.ORDER_DESC as ORDER_DE3_0_1_, orders0_.ORDER_NO as ORDER_NO4_0_1_ from ORDERS orders0_ where orders0_.CLIENT_ID=?
这是某种HQL吗?
问候。
不。它不是HQL-如果仔细阅读,您会发现它是直接的ANSI Sql。 它具有机器生成的,非人类友好的列别名,但它是sql。
Hibernate Query Language(HQL)
有助于以面向对象的方式编写查询。因此,我们可以自由地从一个数据库管理系统迁移到另一个数据库管理系统。 例如,MySQL转换为Oracle DB,反之亦然。
HQL由Hibernate转换为SQL。 对于条件查询也是如此。
例如:
HQL : from Student
SQL : select * from student
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.