我是一名有用的助手,可以为您翻译文本。
我遇到了一个问题,需要根据我的NodeEntity的Enum属性进行查询。
所涉及的NodeEntity的定义如下:
@NodeEntity(label = "Entity")
public class MyEntity {
@GraphId
private Long internalId;
....
private State state;
@Transient
public enum State {
STATEONE, STATETWO, STATETHREE
}
....
它可以完美地保存状态枚举,并且我可以毫无问题地使用其他属性(字符串)进行查询。然而,在存储库中遇到的问题是以下查询:
@Query("MATCH (entity:Entity {state:{0}})" +
"RETURN entity")
List<MyEntity> findByState(MyEntity.State state)
即查找所有具有指定状态的实体。
然而,使用此方法仅返回一个空实体列表,没有任何异常。
我尝试了各种变化,例如使用WHERE子句等,但都没有成功。
实体已正确持久化,使用同一测试中的findAll()方法返回预期的实体列表,其状态与我的预期完全相同。
有什么想法吗?