如果参数是Set,我如何编写条件查询? 在类Libro autore是一个Set,在我的标准查询中我想检查作者的名字和作者的姓氏。 如果我认为这种方法肯定不起作用,因为autores是一个Set而authorFirstName是一个String。
public static Specification<Libro> filterByAuthorFirstName(final String authorFirstName){
return new Specification<Libro>() {
@Override
public Predicate toPredicate(Root<Libro> root, CriteriaQuery<?> query, CriteriaBuilder cb){
return cb.equal((root.get(Libro_.autores)), authorFirstName);
}
};
}
生成的Libro_类是
package com.dennis.casalibro.domain;
import javax.annotation.Generated;
import javax.persistence.metamodel.SetAttribute;
import javax.persistence.metamodel.SingularAttribute;
import javax.persistence.metamodel.StaticMetamodel;
@Generated(value = "org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor")
@StaticMetamodel(Libro.class)
public abstract class Libro_ {
public static volatile SingularAttribute<Libro, String> descrizione;
public static volatile SingularAttribute<Libro, String> titolo;
public static volatile SingularAttribute<Libro, Integer> numero_pagine;
public static volatile SingularAttribute<Libro, CasaEditrice> casaEditrice;
public static volatile SingularAttribute<Libro, Integer> anno_pubblicazione;
public static volatile SingularAttribute<Libro, Integer> rating;
public static volatile SingularAttribute<Libro, String> copertina_url;
public static volatile SingularAttribute<Libro, Long> id;
public static volatile SetAttribute<Libro, Autore> autores;
public static volatile SingularAttribute<Libro, Genere> genere;
}