Your Interface method can use native SQL to select columns from multiple tables and the method will return a list of object arrays :
public interface MyRepository extends JpaRepository {
@Query(name = [name], nativeQuery = true)
List<Object[]> methodThatQueriesMultipleTables();
}
Each item in the list is Object array that is a row of data
You can also create a Custom Repository Implementation :
How to add custom method to Spring Data JPA
@NoRepositoryBean
public interface CustomRepository<[Your object]> {
List<Object[]> methodThatQueriesMultipleTables();
}
public class MyRepositoryImpl<[Your object]> implements CustomRepository<[Your object] {
@PersistenceContext
private EntityManager entityManager;
@Override
public List<Object[]> methodThatQueriesMultipleTables() {
//use JPA query to select columns from different tables
Query nativeQuery = entityManager.createNativeQuery("query");
return query.getResultList();
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…