我遇到了hibernate @NamedQueries的问题。我有一张表SCP_PMAT,其中列名为“group”。在映射中没有问题。我用括号解决了这个问题。
public class ScpPmat{
@Column(name = "[group]")
private String group;
}
但是当我想使用@NamedQuery时会出现问题。如何编写列名来查询?
@NamedQuery(name = "readScpPmatByGroup",
query = "FROM ScpPmat where group = :group")
希望这段代码足够。 感谢
答案 0 :(得分:1)
最佳选项:将列的名称更改为不是保留字。这样做通常是不好的做法,并且根据您的体验,可能会导致Java代码和SQL出现问题。
另一种选择是将Java字段名称从保留字改为非保留字,如groupCol
。
答案 1 :(得分:0)
您可以将保留字括在引号中:
query = "FROM ScpPmat where \"group\" =:group")