如何通过字符串集合值LIKE查询实体

时间:2018-02-02 14:56:03

标签: spring-data spring-data-jpa filtering javax.persistence

我有以下实体:

@Entity
public class SystemLogEntity implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;
    private long creationTime;
    private String thread;
    private int severity;
    @Lob
    private String message;
    @ElementCollection(fetch = FetchType.EAGER)
    @Lob
    private List<String> stacktrace;

    ...
}

我的Respository实现了JpaSpecificationExecutor,这允许我使用Specification来过滤我的数据库请求:

@Repository
public interface SystemLogRepository extends JpaRepository<SystemLogEntity, Long>, JpaSpecificationExecutor<SystemLogEntity> {

     public List<SystemLogEntity> findAll(Specification spec);
}

对于SystemLogEntity的简单字段,此工作正常,Predicate是直截了当的。

此外,如果我过滤集合中的确切项目,Predicate仍然是直截了当(in)。

但是如何在堆栈跟踪收集项SystemLogEntity给定值之后过滤我的LIKE

换句话说,我会喜欢在术语SystemLogEntity之后过滤NullpointerException。甚至可以使用Predicate吗?

1 个答案:

答案 0 :(得分:1)

我希望这会奏效:

{{1}}

更多cursor.callfunc() ...