如何解决Hibernate投影中的类型不匹配问题?

时间:2017-07-21 12:32:06

标签: java hibernate

ProjectionList projectionsList = Projections.projectionList();
projectionsList.add(Projections.property("userMasterTable.userCreatedDateTime"), "createdDateTime");
criteria.setProjection(projectionsList);
criteria.setResultTransformer(Transformers.aliasToBean(Users.class));
allUsers=criteria.list(); //allUsers is a List

userCreatedDateTime 属于日期类型。

createdDateTime 属于字符串类型。

当我尝试运行此代码时,其显示类型不匹配异常。 如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您使用投影参数作为字符串值 - > " createdDateTime" ,用它作为对象。

Projections.property("userMasterTable.userCreatedDateTime"), createdDateTime);

如果createdDateTime具有String类型,则使用DateTimeFormat

将其转换为DateTime
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss");
DateTime dt = formatter.parseDateTime(createdDateTime);