外部プロパティをjpaという名前のクエリに入れる方法を知っている人はいますか?
たとえば、次のようになります。
@NamedQuery(name = "Test", query = "select t from ${table.name} t")
とは対照的に:
@NamedQuery(name = "Test", query = "select t from TableName t")
ありがとう
注釈は最終的なものであるため、実行時に変更することはできません。
名前付きクエリとしてではなく、実行時にネイティブ クエリを定義し、SQL 文字列を自分で変換できます。
他の解決策は、コードで何らかのプリコンパイラを使用するか、何らかの永続ユニットイベントを使用してクエリを後処理することです。EclipseLink を使用している場合は、これに SessionCustomizer を使用するか、SessionEventListener を使用して SQL クエリを実行前に前処理することができます。