无法在没有 NativeQuery 的情况下在 JPA 查询中检索 JSONB 属性“gender”

Unable to Retrieve JSONB Attribute 'gender' in JPA Query without NativeQuery

提问人:ÄLi D Yëss 提问时间:11/17/2023 最后编辑:Arun SudhakaranÄLi D Yëss 更新时间:11/17/2023 访问量:36

问:

我遇到了在我的Spring Data JPA项目中使用JPA Query从JSONB列中检索“gender”属性的问题。如果可能的话,我想避免使用本机查询。 我使用 PostgreSQL

实体:

@Entity
public class CustomerData {
    
    @Id
    private Long id;
    
    @Type(type = "jsonb")
    @Column(columnDefinition = "jsonb")
    private Map<String, Object> customerData = new HashMap<>();
}

存储 库:

public interface CustomerDataRepository extends JpaRepository<CustomerData , Long> {
    @Query("SELECT COUNT(c.id), c.customerData->>'gender' FROM CustomerData c GROUP BY c.customerData->>'gender'")
    String genderStats();
}

错误

unexpected token: > near line 1, column 128 [SELECT cd.customerData FROM models.CustomerData cd GROUP BY cd.customerData->>'gender'
Java Spring JPA spring-data jsonb

评论

0赞 Arun Sudhakaran 11/17/2023
是否存在任何错误或未检索到该列值?
0赞 ÄLi D Yëss 11/17/2023
意外令牌:第 1 行附近第 128 列附近的> [SELECT cd.customerData FROM models.CustomerData cd GROUP BY cd.customerData->>'gender'
0赞 Arun Sudhakaran 11/17/2023
存储库中的查询和日志中的查询不同!
0赞 Arun Sudhakaran 11/17/2023
这回答了你的问题吗?如何使用spring data jpa查询jsonb列?

答: 暂无答案