【发布时间】:2019-07-21 15:16:57
【问题描述】:
如何使用 jpa 查询对象(不是实体)?
例如这个简单的代码:
String [] theList = {a,b,c,d}.
Query q = new Query("Select tl from theList tl")
背后的原因:查询是动态创建和执行的,但是 jpql 查询的 from 子句中的对象不一定是映射表。在某些情况下只有一个对象,所以实际需要的行为是在程序执行期间修改查询以满足条件,但我不知道如何修改查询。
编辑:由于代码的可移植性,我不使用本机查询。这将是最后的选择。
【问题讨论】:
-
为什么不是原生查询?
-
感谢您的建议。我已经编辑了问题。原因是该项目背后有几个 dbms(Oracle、Sybase、SqlServer 和 Postgres),并且有超过 10000 个查询,需要维护数据库特定的这么多,建议 +1。
-
抱歉,您能否提供更多详细信息?我不明白您的问题,您的意思是什么但是 jpql 查询的 from 子句中的对象不一定是映射表我>
-
您的意思是在内存中查询,或在数据库中查询(在这种情况下,您不是在查询“对象”)?
-
@YCF_L 字面意思是表达式。查询的from子句的对象在某些情况下不是映射表,而是java对象。
标签: java sql jpa eclipselink jpql