如何解决如何选择将枚举转换为字符串,并获取它的名称或它在 JPQL 中的序数?
public enum En {
A,B,C;
}
@Entity
public class Table {
@Enumerated(EnumType.ORDINAL)
En en;
...
}
SELECT CAST(t.en AS string) FROM Table t
它返回枚举的序号值:“1”、“2”、“3”。
有没有办法可以直接将其转换为枚举的 name() 通讯员?即“A”、“B”、“C”
解决方法
不,没有保证的方法可以做到这一点。如果您使用序数映射,事物的 SQL 方面不知道枚举名称。你可以做的一件很痛苦的事情是写出一个 case when expression case when t.en = En.A then 'A' when t.en = En.B then 'B' when t.en = En.C then 'C' else null end
。你为什么需要这个?您可以只获取枚举值并在 Java 中对其进行转换。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。