gpt4 book ai didi

java - 如何使用 Hibernate 的 addScalar() 方法返回枚举

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:17:49 27 4
gpt4 key购买 nike

我有:

@Column(name = "UserType", nullable = false)
@Enumerated(EnumType.STRING)
private UserType userType;

如何使用addScalar()方法通过SQL请求返回该字段?

最佳答案

这是将枚举添加到 SQLQuery 的方式

  1. 您定义一个属性对象

    Properties params = new Properties();
    params.put("enumClass", "UserType");
    params.put("type", "12"); /*EnumType.STRING type = 12 */
  2. 您解析您的枚举类型:

    Type userEnumType = sessionFactory.getTypeHelper().custom(UserType.class, params);
  3. 您执行查询:

    List<SomeEntity> result = getSession().createSQLQuery("select e from SomeEntity ")
    .addScalar("userType", userEnumType)
    .setResultTransformer(Transformers.aliasToBean(SomeEntity.class))
    .list();

关于java - 如何使用 Hibernate 的 addScalar() 方法返回枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24618382/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com