Ich habe 2 Entity:Hibernate Prädikats Suche in verknüpften Tabelle
@Entity
public class Organization {
@Column(name = "name")
public String name;
@OneToMany(mappedBy = "organization")
public Collection<Tin> tin;
}
@Entity
public class Tin {
@Column(name = "name")
public String name;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ORGANIZATION_ID", nullable = false)
public Organization organization;
}
Ich möchte Organisation von Tin Namen suchen CriteriaBuilder mit und Prädikate
Für die Suche I Liste der Prädikate haben wollen
List<Predicate> getPredicates() {
List<Predicate> predicates = new ArrayList<Predicate>();
....
if (StringUtils.isNotBlank(orgSearchCriteria.getTaxIdNumber())) {
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
CriteriaQuery<Tin> criteria = criteriaBuilder.createQuery(Tin.class);
Root<Tin> companyRoot = criteria.from(Tin.class);
predicates.add(
criteriaBuilder.equal(companyRoot.join("tin").get("name"), orgSearchCriteria.getName())
);
}
....
return predicates
}
hast du etwas versucht, um dies zu erreichen? – Vaibs
Ja, habe ich versucht, dieses: CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); CriteriaQuery criteria = criteriaBuilder.createQuery (Tin.class); Wurzel companyRoot = criteria.from (Tin.class); predicates.add ( criteriaBuilder.equal (companyRoot.join ("tin") erhalten ("tin"), orgSearchCriteria.getTaxIdNumber()) .); –
Bitte teilen Sie Ihren Code, so bekommen wir eine Idee – Vaibs