Spring Data JPA 연결 표 조회 실현

1421 단어 Javasql자바
Spring Data JPA 는 간단 한 단일 표 조회 에 있어 서 매우 편리 하지만,연결 표 조회 가 필요 하 다 면 복잡 해 집 니 다.여기에 연결 표 조회 방법 을 쓰 십시오.Entity Manager 를 통 해
@RestController
@RequestMapping(value = "/friend")
public class FriendControl {

    //   EntityManager      
    @Resource
    EntityManager entityManager;

    //           getMyFriends
    // friendId    userId            
    @RequestMapping(value = "getMyFriends",produces = "application/json;charset=utf-8", method = RequestMethod.POST)
    public Result getMyFriends(
            @RequestParam(value = "friendId",required = false)String friendId,
            HttpServletRequest request
    ){
        Integer userId = 1;
        //          sql     
        String sql="Select u.* from user u "
                + "left join friend f on f.friend_id=u.user_id "
                + "where f.user_id = "+userId;
		//   sql      
        if(!(friendId==null||"".equals(friendId))){
            sql += " and f.friend_id = " + friendId;
        }

        List> resultList = entityManager.createNativeQuery(sql)
                .unwrap(org.hibernate.Query.class) //        
                .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP) //      Map  
                .getResultList();  //   List    

        return new Result(true,resultList);	// Result          
    }

}

좋은 웹페이지 즐겨찾기