HQL与SQL/Hibernate netbeans HQL编辑器

Ale*_*sse 6 sql netbeans hibernate hql web-applications

我正在教我的自我休眠,我很困惑为什么我不能只编写简单的SQL查询.

我发现使用它比使用纯SQL(我习惯的)更令人困惑

PLUS:我发现NetBeans HQL编辑器非常烦人,我很难在HQL中生成正确的查询,然后在SQL中,为什么显示的SQL与实际的SQL语句不同?

那么为什么要用呢? - 众所周知,hibernate是非常广泛的资源,我相信hibernate是我们的应用程序经常耗尽内存的原因,就像在重新部署过程中一样,例如...

我很想知道为什么我应该使用Hibernate而不是简单的SQL(mysql)语句!

也许hibernate查询的一个很好的链接会很好;),我正在使用这个atm:

但也对任何解释查询设置,映射,底层构造等的好链接感兴趣.

最好的问候亚历克斯

blu*_*ish 4

HQL 是面向对象的,其目的是处理表示数据库表的 Java 对象。一个基本优点是您可以:orderNumber在 HQL 查询中放置占位符(使用冒号 simbol)并替换为变量的值。例如:

int orderNumber = 685412;
List<Order> l= 
    session.createQuery("from Order where orderNumber = :orderNumber")
    .setParameter("orderNumber",orderNumber).list();
Run Code Online (Sandbox Code Playgroud)

这样你就可以orderNumber用简单的方式进行修改,避免经典的

String query = "select * from Order where orderNumber = " + orderNumber + "...";
Run Code Online (Sandbox Code Playgroud)

此外,如果您将数据库迁移到另一个 DBMS,使用 MySQL 语法有时会使您的代码不可重用。无论如何,我仍然不太相信 HQL 的偏好。

在这里您可以找到完整的语法定义。