0

我对休眠@NamedQueries 有疑问。我有一个表 SCP_PMAT,列名为“组”。在映射不是问题。我用括号解决了这个问题。

public class ScpPmat{
    @Column(name = "[group]")
    private String group;
}

但是当我想使用@NamedQuery 时,就会出现问题。如何编写列名进行查询?

@NamedQuery(name = "readScpPmatByGroup",
query = "FROM ScpPmat where group = :group")

希望这段代码就足够了。谢谢

4

2 回答 2

1

最佳选择:将列名更改为不是保留字。这样做通常是不好的做法,并且根据您所遇到的情况,可能会在 Java 代码和 SQL 中引起头痛。

另一种选择是将 Java 字段名称从保留字更改为非保留字,例如groupCol.

于 2012-03-18T13:55:08.173 回答
0

您可以将保留字括在引号中:

query = "FROM ScpPmat where \"group\" =:group")
于 2012-03-16T16:18:40.920 回答