我有:
@Column(name = "UserType", nullable = false)
@Enumerated(EnumType.STRING)
private UserType userType;
如何使用addScalar()方法通过SQL请求返回此字段?
答案 0 :(得分:9)
这是将Enum添加到SQLQuery的方法
您定义属性对象
Properties params = new Properties();
params.put("enumClass", "UserType");
params.put("type", "12"); /*EnumType.STRING type = 12 */
您解决了枚举类型:
Type userEnumType = sessionFactory.getTypeHelper().custom(UserType.class, params);
您执行查询:
List<SomeEntity> result = getSession().createSQLQuery("select e from SomeEntity ")
.addScalar("userType", userEnumType)
.setResultTransformer(Transformers.aliasToBean(SomeEntity.class))
.list();