我对Hibernate中的addScalar有疑问。示例我有DTO类:
public class FieldInfoDTO {
private String fieldInfo1;
private String fieldInfo2;
private String fieldInfo3;
private String fieldInfo4;
private String fieldInfo5;
}
然后在DAO课上,我这样做了:
String sql = "SELECT field_info1 AS fieldInfo1 FROM tbl_field_info;"
SQLQuery query = getSession().createSQLQuery(sbQuery.toString());
query.addScalar("fieldInfo1", StringType.INSTANCE);
query.setResultTransformer(Transformers.aliasToBean(FieldInfoDTO.class));
return query.list();
我希望结果在邮递员中会是这样:
{
"fieldInfo1" : "value"
}
但它返回:
{
"fieldInfo1" : "value",
"fieldInfo2" : null,
"fieldInfo3" : null,
"fieldInfo4" : null,
"fieldInfo5" : null
}
有什么办法只显示我的addScalar列?
答案 0 :(得分:0)
我认为这里的问题归因于以下声明:
query.setResultTransformer(Transformers.aliasToBean(FieldInfoDTO.class));
它按照FieldInfoDTO
类中的属性格式化结果(尽管其他字段设置为null
)
尝试将其删除,然后从String
列表中获取结果。