我有以下实体:
@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
吗?