按枚举值的JPA条件查询顺序

时间:2012-06-13 08:41:11

标签: jpa enums sql-order-by case criteria-api

如何使用JPA标准对枚举进行排序。 例如,获取类似的查询 “按照'黄色'的情况订购颜色,然后”红色“,然后”3结束“,

2 个答案:

答案 0 :(得分:1)

JPA Criteria API中的Case表达式可以解决问题。

CriteriaBuilder cb = entityManager.getCriteriaBuilder()

cb.selectCase(color)
.when(color.YELLOW, 1)
.when(color.YELLOW, 2)
.otherwise(3))

答案 1 :(得分:0)

这应该可行,你只需要用asc或desc。

包装case表达式

你试过什么代码,你得到了什么错误?

请参阅, http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/Criteria#Order