gpt4 book ai didi

spring-data-jpa - 如何在@Query 中使用枚举作为常量

转载 作者:行者123 更新时间:2023-12-03 23:17:28 26 4
gpt4 key购买 nike

我试图在 != 之后放置一个完整的类路径(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/

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