![](/img/trans.png)
[英]Pivotal GemFire: PDX serializer config in Spring Data GemFire
[英]Spring-data-gemfire Boolean query only works with PDX serialization?
我在pojo中有一个简单的布尔字段,该字段存储在gemfire区域中。 pojo还包括其他具有不同数据类型的字段(例如String
, Long
, Short
, Date
等)。 我为每个字段编写了一个区域查询,它们返回的值都很好,除了布尔字段。 来自我实体的示例存根:
@Region("poc")
public class POCEntity {
@Id
@javax.persistence.Id
private String id;
private Boolean active;
private String internalUsername;
private Long dob;
private Date createDate, updateDate;
...
这是存储库存根:
//@Query("SELECT * FROM /poc p where p.active = false")
List<WellnessOptInEntity> findByActiveIsFalse();
我已经尝试了所有可能的变化(使用手动查询和查询生成),但是使用未配置PDX的布尔字段查询总是会导致以下异常:
java.lang.IllegalArgumentException:不支持的运算符TRUE! 在org.springframework.data.gemfire.repository.query.Predicates $ AtomicPredicate.getOperator(Predicates.java:174)在org.springframework.data.gemfire.repository.query.Predicates $ AtomicPredicate.toClause(Predicates.java:137)在org.springframework.data.gemfire.repository.query.Predicates $ AtomicPredicate.toString(Predicates.java:126)在org.springframework.data.gemfire.repository.query.Predicates.toString(Predicates.java:90)在org .springframework.data.gemfire.repository.query.QueryBuilder.create(QueryBuilder.java:44)
如果启用PDX,则布尔值字段的查询工作正常。 如果未启用PDX(例如,使用引导的gemfire服务器进行单元测试),则布尔查询将不起作用。
有没有人遇到过这样的事情? 我正在使用gemfire 7.0.1和spring-data-gemfire 1.3.3 。 我以为这可能是spring-data-gemfire中的错误,但是为了确保可以将其放在那里。
看来这是一个实际缺陷。 我们已经在此处记录了详细信息(以及模拟缺陷的示例项目):
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.