spring data jpa 表不關聯多表查詢

直接上代碼

import com.supergk.core.project.bean.ProjectUser;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;

public interface ProjectRepository extends JpaRepository<Project, Integer>, JpaSpecificationExecutor<Project> {
//

    @Query(value = "SELECT p.id as id, p.contactName as contactName, a.name as username FROM Project p, Account a WHERE p.contactName = ?1 and p.AccountId = a.id",
            countQuery = "SELECT count(p) FROM Project p, Account a WHERE p.contactName = ?1 and p.AccountId = a.id")
    Page<ProjectUser> findByLastname(String contactName, Pageable pageable);
}

package com.supergk.core.project.bean;

/**
 * Created by LM on 2017/8/7.
 */
public interface ProjectUser {
    public Integer getId();
    public String getContactName();
    public String getUsername();
}
這樣就可以

Page<ProjectUser> findByLastname(String contactName, Pageable pageable);
也可以返回object
Page<Object>

Controller裏面
        Page<ProjectUser> page = projectService.projectPageCriteria(pageable, project);
        System.out.println(page.getSort() + "--1");
        System.out.println(page.getSize() + "--2");
        System.out.println(page.getTotalPages() + "--3");
        System.out.println(page.getNumber() + "--4");
        System.out.println(page.getTotalElements() + "--5");
        System.out.println(page.getContent() + "-===");
//        List<ProjectUser> projectList = page.getContent();
        List<Object> projectList = page.getContent();
        for(int i = 0; i <projectList.size(); i++) {
            Object[]  os = (Object[])projectList.get(i);
            System.out.println(os[0]);
        }
發佈了20 篇原創文章 · 獲贊 7 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章