0

有谁知道将外部属性放入 jpa 命名查询的方法(如果有)?

例如:

@NamedQuery(name = "Test", query = "select t from ${table.name} t")

相对于:

 @NamedQuery(name = "Test", query = "select t from TableName t")

谢谢

4

2 回答 2

1

注释是最终的,因此它们不能在运行时更改,所以你不能这样做。

于 2012-05-10T07:58:42.157 回答
0

您可以在运行时定义本机查询而不是命名查询并自己翻译 SQL 字符串。

其他解决方案是在您的代码上使用某种预编译器,或使用某种持久性单元事件来后处理您的查询。如果您使用的是 EclipseLink,您可以为此使用 SessionCustomizer,或使用 SessionEventListener 在 SQL 查询执行之前对其进行预处理。

于 2012-05-10T14:05:39.807 回答