【发布时间】:2019-01-12 12:00:24
【问题描述】:
我是 Web 开发的新手,我做了一些示例,例如从 mysql db 获取数据并在 jsp 页面中显示它们。(使用 CRUDRepository ) 但是这样我们只能显示一个表数据。 如果我们想显示两个表格数据的组合,我们应该怎么做。
我在搜索时发现了这些,我只是在问我们如何将更复杂的 sql 查询放到这个上面。
public interface UserRepository extends JpaRepository<User, Long> {
@Query("select u from User u where u.lastname like ?1%")
List<User> findByAndSort(String lastname, Sort sort);
@Query("select u.id, LENGTH(u.firstname) as fn_len from User u where u.lastname like ?1%")
List<Object[]> findByAsArrayAndSort(String lastname, Sort sort);
}
如果我们可以把那个复杂的查询(比如三个或更多的表)放在这里, 我们应该根据查询列创建一个新的实体类吗? 然后又是这项工作,因为实际上没有这样的桌子。
【问题讨论】:
-
这太宽泛了。你需要学习 JPA、关联、JPQL。阅读 Hibernate 文档,或一本关于它的好书。
-
非常感谢。那个“JPQL”提示真的很有帮助(我知道在哪里看)。先生,如果您可以推荐更多内容,请不胜感激。
标签: mysql spring spring-boot spring-data-jpa entity