在JPQL中,可以使用构造函数表达式(例如
SELECT NEW example.EmployeeDetails(e.name, e.salary, e.department.name) FROM Employee e
它返回EmployeeDetails类型的对象列表
或使用投影选择,例如
SELECT e.name, e.salary FROM Employee e
返回一个Object[] result
结果,其中result [0]是e.name,而result [1]是e.salary
有没有办法让JPA返回包含实体子集的Map,例如是否有可以返回的JPQL查询, List<Map<String,Object>> result
例如result.get(0).get("e.name")
return
e.name
和result.get(0).get('e.salary')
returne.salary
如果JPQL无法做到,HQL可以做到吗?
JPA
为化合物选择提供了数量有限的返回类型:数组,元组和构造,而Hibernate
为select子句提供了更多的返回类型,其中包括Map。
SELECT NEW map(e.name, e.salary, e.department.name) FROM Employee e
此HQL查询Map
从别名返回a 到选定值。
问题内容: 我正在写一个跨三个表的JPQL查询。在我的结果列表中,我想获得每个匹配行的所有三个实体(希望如此)。 有任何想法吗? Hibernate 3.x是我的JPA提供程序。 问题答案: IIRC,您可以执行,结果将是,其中数组内容将包含o1,o2,o3值。
如何返回与JPA中的父级有关系的实体列表? 我有一个用户实体,在名为的属性上有@OneToMany映射。子实体为Pet类型。这只是一种单向关系。 如何在JPA中编写返回给定用户的所有宠物的连接?
我正在使用jpa 2.1 EntityGraphs来修改不同的jpa查询,在某些情况下,EntityGraph不能按预期工作。我正在努力解决的简单用例是: 作者作为父类,与Book子类具有单向一对多关系,我想检索给定书名的作者结果,类似于findAllAuthorsByBookName。 我的作者类是这样的 书没有引用作者,所以它看起来像这样 Generic Entity类仅具有id和name属性
我想知道是否有可能通过spring jpa存储库执行jpql查询,并能够使用分页作为排序功能,就像使用示例和规范一样。我想做一些类似的事情: QueryByQuestpleExector接口,即声明: JpaSpecificationExector接口声明:
我在当前项目中使用QueryDSL,在一个实例中,由于jpql的限制,我需要使用本机查询而不是jpa查询。 值得庆幸的是,通过从切换到可以很容易地从一个实体切换到另一个实体并保留api抽象层,但是在我这样做之后,实体不再映射为结果类型。 示例: 使用: 将生成适当的实体作为结果类型: 但是 有没有办法强制返回实体而不手动映射它们? 使用query_dsl_version=4.2.1的Im TLDR
我试图将我的Mysql查询转换为JPQL,但我不知道哪个工具可以在eclipse上使用而无需编译。 我的日志没有告诉我哪里是错误,所以我找不到哪里是错误的语法。 谢谢你的帮助!