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コードとSQ​​Lの両方で頭痛の種になる可能性があります。

もう 1 つのオプションは、Java フィールド名を予約語から非予約語 ( groupCol.

于 2012-03-18T13:55:08.173 に答える
0

予約語は引用符で囲むことができます。

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