如何使用 HQL 从 Oracle 11g table 调用的用户 select
How to select from an Oracle 11g table called User using HQL
在 Oracle 中,如果您命名一个 table 用户,您必须通过在单词用户周围加上引号来查询 table。
这行不通
select * from User
这会起作用
select * from "User"
我的问题是,如何 运行 对 table 命名用户进行休眠 HQL 查询?我试过将“”放在用户周围,转义引号,单引号,但没有任何效果。 HQL 不喜欢这些字符和错误。我用谷歌搜索并搜索了解决方案,但一无所获。
您需要在您的实体映射中转义 table 名称:
@Entity
@Table(name="`User`")
public class User {
...
}
当你像这样编写 HQL 查询时:
from User
Hibernate 将生成这样的 SQL 查询:
select * from "User"
在 Oracle 中,如果您命名一个 table 用户,您必须通过在单词用户周围加上引号来查询 table。
这行不通
select * from User
这会起作用
select * from "User"
我的问题是,如何 运行 对 table 命名用户进行休眠 HQL 查询?我试过将“”放在用户周围,转义引号,单引号,但没有任何效果。 HQL 不喜欢这些字符和错误。我用谷歌搜索并搜索了解决方案,但一无所获。
您需要在您的实体映射中转义 table 名称:
@Entity
@Table(name="`User`")
public class User {
...
}
当你像这样编写 HQL 查询时:
from User
Hibernate 将生成这样的 SQL 查询:
select * from "User"