使用保留字Hibernate @NamedQueries

时间:2012-03-16 16:11:44

标签: java hibernate reserved-words

我遇到了hibernate @NamedQueries的问题。我有一张表SCP_PMAT,其中列名为“group”。在映射中没有问题。我用括号解决了这个问题。

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

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

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

希望这段代码足够。 感谢

2 个答案:

答案 0 :(得分:1)

最佳选项:将列的名称更改为不是保留字。这样做通常是不好的做法,并且根据您的体验,可能会导致Java代码和SQL出现问题。

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

答案 1 :(得分:0)

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

query = "FROM ScpPmat where \"group\" =:group")
相关问题