首页 > 解决方案 > CrudRepostiroy findBy 查询/方法根据原始类型值获取记录,这是一个 ArrayList

问题描述

有人可以建议如何根据 JPA 中的原始数据列值过滤记录吗?

我有如下实体类:

@Entity
public class TableAbc {
    @Id
    @Type(type = "uuid-char")
    private UUID id;
    private String fieldA;
    private ArrayList<String> listA;
    ...

以上listA是数据库级别的原始类型列,我无法更改。这里保存工作正常,findById/findByFieldA工作正常,findAll工作正常。

但是findByListA,如下所示不起作用。它抛出类转换异常。这里所有的都是严格输入的,所以没有其他圈。listA我保证传递给findByListA它是正确的。任何解决方案或替代方案都会有所帮助。返回值应该是 List of TableAbc

public interface TableAbcRepository extends CrudRepository<TableAbc, UUID> {
  List<TableAbc> findByFieldA(String fieldA); // This works
  List<TableAbc> findByListA(ArrayList<String> listA); // This does not work
}

标签: javasqljpatypesraw

解决方案


推荐阅读