Ho creato un DAL che utilizza i repository di Spring per gestire le operazioni CRUD su un DB MySQL tramite Hibernate e JPA. In particolare, questa è la mia definizione RepositoryScrivi query tra tabelle con QueryDSL e Spring's Repository
package my.dal.repository;
import my.domain.dal.User;
import org.springframework.data.querydsl.QueryDslPredicateExecutor;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface IUserRepository extends CrudRepository<User, String>, QueryDslPredicateExecutor<User>{
}
Con questa definizione sono in grado di eseguire operazioni CRUD usando QueryDSL predicati attraverso l'estensione dell'interfaccia QueryDslPredicateExecutor
e il metodo findAll(Predicate)
.
Il problema che sto affrontando è che in questo modo non sono in grado di eseguire query su più tabelle. In effetti, non posso usare i servizi di join di QueryDSL perché non ho uno HibernateQuery
.
Qual è il modo corretto per implementare l'operazione di join con Spring Repositories e QueryDSL?
Grazie