【发布时间】:2014-06-02 02:38:35
【问题描述】:
我已经构建了一个 DAL,它使用 Spring 的存储库通过 Hibernate 和 JPA 管理 MySQL DB 上的 CRUD 操作。特别是这是我的存储库定义
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>{
}
有了这个定义,我可以使用 QueryDSL 谓词执行 CRUD 操作
通过QueryDslPredicateExecutor接口和findAll(Predicate)方法的扩展。
我面临的问题是这种方式我无法进行跨表查询。事实上,我不能使用 QueryDSL 的连接工具,因为我没有 HibernateQuery。
使用 Spring Repositories 和 QueryDSL 实现 join 操作的正确方法是什么?
谢谢
【问题讨论】:
标签: java spring spring-data querydsl