gpt4 book ai didi

java - 玩! JPA - 在查询中获取枚举值

转载 作者:行者123 更新时间:2023-11-30 09:48:26 27 4
gpt4 key购买 nike

这是我的枚举:

package enums;

public enum SessionType {
SESSION_NORMAL(12), SESSION_PERFECT(5), SESSION_SOLO(1);

private int value;

private SessionType(int value) {
this.setValue(value);
}

public void setValue(int value) {
this.value = value;
}

public int getValue() {
return value;
}

public String toString(){
return this.name();
}

}

我有一个带有属性类型的模型类 session :

@Required
@Enumerated(EnumType.STRING)
@Column(name="type")
private SessionType type;

我想做这样的查询:

Session.find("type.value = 1");

问候。

最佳答案

您无法通过 SQL 查询访问枚举中的值,但您可以使用枚举的序号值通过注释将其存储在数据库中:

@Enumerated(EnumType.ORDINAL)

这会立即返回 1、2 或 3,但您可以重新映射值(因此您使用 1、2、3 而不是 1、5、12)或简单地向枚举添加一些额外的条目,直到您得到你想要的值(如果它对系统的其余部分非常重要,值是 1,5,12)

关于java - 玩! JPA - 在查询中获取枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6263047/

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