我试图在 !=
之后放置一个完整的类路径(com.xxxx.State.Finish)但没有帮助。
@Query("select c from CustomOrder c where c.dealer = :roleName and
c.nextManager = null and c.currentState != Finish")
List<CustomOrder> findOpenOrder(@Param("roleName") String roleName);
实体:
@Getter
@Enumerated(EnumType.STRING)
CustomOrderEnums.State currentState;
枚举:
public enum State {
Open, Finish
}
最佳答案
@Query("select c from CustomOrder c where c.dealer = :roleName and
c.nextManager = null and c.currentState != com.xxx.FooEnum.Finish")
FooEnum
必须是一流的而不是内部的。如果必须是内部类,请使用 '
带引号的字符串(没有没有尝试过 '
)。@Query("select c from CustomOrder c where c.dealer = :roleName and
c.nextManager = null and c.currentState != 'Finish'")
我刚刚发现,而不是使用
@Query
它可以简单地用作:List<User> findIdByRoleRoleAndProvinceType(String role, ProvinceEnum.ProvinceType provinceType);
这是实体用户:
@Entity
public class User {
Role role; // entity has a String field role;
Province province; // entity has a ProvinceEnum.ProvinceType field type.
...
}
关于spring-data-jpa - 如何在@Query 中使用枚举作为常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47767755/