【发布时间】:2021-08-27 21:46:33
【问题描述】:
我认为这是一个普遍的问题,因为我不是专家。像很多人一样,我已经开始通过经典方式创建我的第一个查询:select something on something where something = something lol。
然后,我发现了带有 Hibernate 和存储库的 Spring Boot。使用 getSomethingBySomething(); 似乎一切都变得更简单了;
但是现在,我想找到一种方法将一些困难的查询转换为 hibernate/jpa 方言。
例如,使用查询构建器(DB Forge 或其他编辑器)之类的工具很容易创建复杂的请求。有没有办法获得相同的结果,但使用 Hibernate 方言而不是使用内部连接等复杂的 SQL 请求?
编辑:
这是一个我想用 Hibernate 方言转换的 sql 查询示例:
@Query(nativeQuery =true, value = "select s.* FROM doc_usecomp \n" +
" INNER JOIN document s \n" +
" ON doc_usecomp.doc_id = s.doc_id\n" +
" INNER JOIN user_company usercomp \n" +
" ON doc_usecomp.usercomp_id = usercomp.usercomp_id\n" +
" INNER JOIN company c on usercomp.usercomp_id = c.comp_id \n" +
"WHERE c.comp_city = 'PARIS'")
List<Document> findAllDocumentByMCity();
似乎很难从一个城市的所有公司中找到文档,但我有经典的方法来使用 sql 但使用休眠...
希望有解决方案!
【问题讨论】:
标签: sql spring-boot hibernate query-builder