gpt4 book ai didi

java - 哪些情况下我们使用native query和hql query?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:56:44 26 4
gpt4 key购买 nike

我的问题是我不明白我怎么知道我必须使用 native 查询而不是 hibernate 查询语言?

最佳答案

当您不能使用 HQL 而不得不使用 native 时,至少有两个示例。

1) Hibernate 通常不适合在运行时执行 DDL 类型的操作:

em.createNativeQuery("DROP TABLE IF EXISTS mytable").executeUpdate();

2) 我在这方面可能是错误的,但 afaik HQL 查询通常看起来像 "from MyClass as mc"。这意味着你必须在那里有一个类的字符串化名称,有时你必须在运行时确定类。反过来,这会将您的 HQL 转换成丑陋的东西,例如 hql = "from "+ obj.getSimpleName() + "sn";。对于此类“多态”查询,以下内容会更清晰:

em.createNativeQuery(someSql, getConcreteClass());

关于java - 哪些情况下我们使用native query和hql query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34065763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com