Spring data 如何通过实体的字符串集合值查询实体,如
我拥有以下实体:Spring data 如何通过实体的字符串集合值查询实体,如,spring-data,spring-data-jpa,filtering,javax.persistence,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
@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;
...
}
对于SystemLogEntity
的简单字段,这可以正常工作,谓词
是直接的
此外,如果我筛选集合中的确切项,则谓词仍然是直接的(
中的)
但是,如何在堆栈跟踪集合项之后过滤我的SystemLogEntity
,该堆栈跟踪集合项类似于给定值
换句话说,我想在术语NullpointerException
之后过滤SystemLogEntity
。使用谓词
,这可能吗?我希望这能起作用:
规范stacktraceLike(字符串stacktrace){
return(root,query,cb)->cb.like(root.join(“stacktrace”),“%”+stacktrace+“%”;
}
更多…正是这一点。谢谢
@Repository
public interface SystemLogRepository extends JpaRepository<SystemLogEntity, Long>, JpaSpecificationExecutor<SystemLogEntity> {
public List<SystemLogEntity> findAll(Specification spec);
}