美文网首页
Jpa 联表查询

Jpa 联表查询

作者: JalorOo | 来源:发表于2021-04-05 11:24 被阅读0次

    原文链接:https://blog.csdn.net/qq_40693828/article/details/95357975

    众所周知,Spring Boot Jpa 是 Spring 基于 ORM 框架、Jpa 规范的基础上封装的一套 Jpa 应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data Jpa 可以极大提高开发效率。

    public interface UserJPA extends JpaRepository<UserEntity, String>, JpaSpecificationExecutor<UserEntity>, Serializable {
        //关联查询    @Query可以用于自定义sql语句,如果是修改需加上@Modifying ,这是一条关联查询语句,返回的结果映射到新对象中,新对象为接口,里面含有对应参数的构造方法。
        @Query(value="select u.username,p.id,p.title from user u join page p on u.id = p.user where u.username = ?1",nativeQuery = true)
        List<UserPageDao> find(String username);
    }
    

    其中,nativeQuery 语句中的 select 后面的参数 到from前面的参数,要与下面的类的属性值一一对应

    public interface UserPageDao {
        String getUsername();
        Long getId();
        String getTitle();
    }
    

    使用方法

    @Test
    void userPageTest(){
        List<UserPageDao> viewInfos = userJPA.find("username");
        for (UserPageDao viewInfo : viewInfos) {
            System.out.println("pageId:"+viewInfo.getId()+" pageTitle:"+viewInfo.getTitle()+" userName"+viewInfo.getUsername());
        }
    }
    

    相关文章

      网友评论

          本文标题:Jpa 联表查询

          本文链接:https://www.haomeiwen.com/subject/rycdkltx.html