Sql 在JPQL请求中使用新语句
我在JPQL查询中使用Sql 在JPQL请求中使用新语句,sql,hibernate,jpa,jpql,Sql,Hibernate,Jpa,Jpql,我在JPQL查询中使用new,如下所示 选择 ob.property1, 新包装1.CustomObject(项目、尺寸、材料、产品) 来自主表ob 左连接。。。。 应用程序在ob.property1之后抱怨coma是意外标记。似乎无法在select子句中使用带有new的多列。根据您的情况,您可以帮助我吗?您有以下选项: 将值包装在类型安全的Java对象中,该对象将作为查询结果返回 投影类必须在实体查询中完全限定,并且必须定义匹配的构造函数。这里的类不需要映射。它可以是DTO类。如果它确实表示
new
,如下所示
选择
ob.property1,
新包装1.CustomObject(项目、尺寸、材料、产品)
来自主表ob
左连接。。。。
应用程序在ob.property1
之后抱怨coma是意外标记。似乎无法在select子句中使用带有new
的多列。根据您的情况,您可以帮助我吗?您有以下选项:
列表
,而不是对象[]
列表
,而不是列表
映射中
列表
,而不是列表
。地图的关键点由指定给select表达式的别名定义。如果用户未指定别名,则键将是每个特定结果集列(例如0、1、2等)的索引
select new package1.CustomObject(item, dimension, material, product)
from MainTable ...
select new list(item, dimension, material, product)
from MainTable ...
select new map(
item as iName,
dimension as iDimension,
material as iMaterial,
product as iProduct)
from MainTable ...