【发布时间】:2022-01-06 06:20:17
【问题描述】:
我有一个复杂的 SQL 查询,它可能在 where 部分有不同数量的参数。所以,查询sql应该手动构造。结果,我得到了包含 45 个字段的对象数组,每个字段我都必须进行大小写、转换等。我不能使用结果集映射,因为它需要一个稳定的 SQL,我应该在注释中指定。所以问题是有没有办法返回 pojo 或者至少使用列名映射而不是通过索引访问所有对象?
String sql = "select col1 as column1, ...., columnN as columnN from table where col1=2 ";
if(param1!=null){
sql+=" AND param1="+param1;
}
....
Query q = manager.createNativeQuery(sql);
//getting list on object arrays of 45 fields, would like to have POJO or at least map
List list = q.getResultList();
【问题讨论】:
-
sql+=" AND param1="+param1;不是一个好习惯,尝试使用命名参数
标签: java spring hibernate spring-data