inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 스프링 데이터 JPA

jpa와 mysql을 붙일때요..

해결된 질문

253

rojiki

작성한 질문수 5

0

강의 항상 잘 듣고 있습니다^^!!

수업과는 조금? 상관이 없는 질문 일수도 있는데요. 개인적으로 복습해보려고 아마존 S2에 Mysql  테이블 생성해서 데이터 넣고 제가 jpa, jpa-data 등 이용해서 자료 한번 조회하는 간단한 프로젝트를 해보고 있습니다.

그런데 ㅠㅠ DB에 데이터는 정상적으로 들어가는데 JPA가 쏘는 쿼리가 영 이상한지 계속 오류가 뜨네요.

무엇이 잘못된 거일까요?

작동시키려는 쿼리? 메소드는 단순합니다. 전체 정보 불러오기 입니다.

    @GetMapping("/findall")
    public String findAll() {

        String result = "";

        for (Site site : siteRepository.findAll()) {
            result += site.toString() + "<br/>";
        }
        return result;
    }

application.yml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://54.xxx1xx.x3/shark1
    username:
    password: 
  jpa:
    hibernate:
      ddl-auto: none
    show-sql: true
    database: mysql
  data:
    jpa:
      repositories:
        enabled: true

siteRepository.java

@Transactional(readOnly = true)
public interface SiteRepository extends JpaRepository<Site, Long> {

    List<Site> findByArea1(String area1);

}

Site.java

@Entity
@Getter @Setter
@Table(name = "site")
public class Site {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long site_id;

    private String name;

    private String location;

    private String area1;

    private String area2;

    private String info;

}

소스는 이러하구요 쿼리가 나갈때 

findall() 호출하면 

Hibernate: select site0_.site_id as site_id1_0_, site0_.area1 as area2_0_, site0_.area2 as area3_0_, site0_.info as info4_0_, site0_.location as location5_0_, site0_.name as name6_0_ from site site0_

이런식으로 나갑니다 ㅠㅠㅠ

DB 칼럼도 도메인이랑 모두 맞춰놨는데요 ㅠㅠ

제가 뭔가 JPA에 대해 설정을 잘못한게 있을까요?

도움 꼭 부탁드립니다. ㅠㅠ

spring java spring-boot JPA

답변 3

1

rojiki

앗 이런 기초적인 실수를 ㅠㅠㅠ 정말 감사합니다. 선생님 아이디 삭제하고 비번 변경했습니다~ 설 잘 지내시고 새해복 많이 받으세요.

0

김영한

Jin K님 위에 적어두신 정보는 바로 삭제해주세요. 해킹 당할 수 있습니다.(비밀번호도 즉시 변경해주세요. 검색엔진이 이미 긁어 갔을 수 있습니다.)

@RespnoseBody가 빠졌네요. 이게 있어야 HTTP Body에 직접 메시지를 뿌립니다.

@ResponseBody
@GetMapping("/findall")
public String findAll() {

감사합니다.

0

김영한

안녕하세요. Jin K님

다음과 같이 쿼리가 나가는 것은 정상입니다. 하이버네이트가 쿼리의 별칭을 site0_처럼 좀 기계적으로 만듭니다.

Hibernate: select site0_.site_id as site_id1_0_, site0_.area1 as area2_0_, site0_.area2 as area3_0_, site0_.info as info4_0_, site0_.location as location5_0_, site0_.name as name6_0_ from site site0_

오류 문제는 다른 문제로 보이고, 전체 오류 메시지를 남겨주시면 도움을 드릴게요.

감사합니다.

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

66

1

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

103

3

MemberRepository 구현체

0

56

1

pdf 표현 질문드립니다.

0

60

1

로그가 남지 않는 문제.

0

79

1

테스트 라이브러리가 강의는 junit4가 맞나요??

0

68

2

pdf 파일과 차이점이 있는 것같은데 문제 없나요?

0

69

2

@PrePersist, @PreUpdate 호출 시점 질문드립니다.

0

90

2

Sort 인터페이스는 잘 사용 안하나요?

0

51

1

스캔대상 질문드립니다.

0

45

1

하이버네이트6에서의 최적화에 이은 질문

0

82

1

save() vs saveAndFlush DB 통신 횟수

0

51

1

순수 JPA 리포지토리 코드 수정부분

0

85

2

bulk연산 후 flush하는 이유를 모르겠어요

0

148

3

bulk insert 질문입니다.

0

174

2

교만했던 것 같아요.

0

144

1

RESTful 강의는 안하시는 건지 궁금합니다.

0

144

2

동적 테이블에 대한 질문

0

84

1

영속성 전이와 연관관계

0

129

2

강의 10:25 질문

0

72

1

단건 update 질문

0

94

2

엔티티 와 도메인의 경계

0

126

1

UsernameOnlyDto 타입 type mismatch 오류

0

117

1

Projection 개념과 데이터 전달과정에 대해 질문 있습니다.

0

135

1