我在我的项目中使用 jpa2.1 和 spring 4.x.x。我必须根据列名创建动态查询。 例如:
在
table1
col1
数据 A
、B
、C
的帮助下,我必须在 table2
上创建一个动态查询,这将为我提供 table2
的所有数据。
String s = "select A,B,C from table2 where Enable=Y";
并将该值传递到存储库上。但我无法创建动态查询。 如何使用列名称在 JPA 中创建动态查询,以便从
table2
获得所需的输出?
由于您似乎希望您的列是动态的,因此您必须直接使用
EntityManager
,甚至可能退回到 JdbcTemplate
。
为此,您将为存储库创建一个自定义方法实现,并将
EntityManager
或 JdbcTemplate
注入其中。
您可以使用它们从 table1
中选择所需的数据,并从中构造并执行最终的 SQL。