20.08.05 22:08 작성
·
426
0
안녕하세요.
저는 postgresql 관련 설정에서 clob 타입을 지원해주지 않아서 설정을 추가줬는데,
선생님은 어떻게 추가 설정을 하지 않았는데 정상 작동했는지(?) 궁금해서 여쭤봐도 될까요??
(단순히 궁금해서요..!)
감사합니다.
답변 4
0
0
2020. 08. 07. 09:38
흠.. 이상하네요. 그 설정들은 반드시 필요한 설정이 아니라 CLOB이랑 특정 기능 확인 관련된 경고 메시지를 없애는데 사용하는 설정인데요. 혹시 다른 이슈 때문에 테이블 생성이 실패했었던건 아니었을지도 의심해 보셔야겠네요. 그 설정들에 대해서는 아래 두 링크 살펴보시기 바랍니다.
https://github.com/spring-projects/spring-boot/issues/12007
저 두 설정이 없을시 에러가 나는 (Account 테이블 생성 실패 후 애플리케이션 구동 실패) 코드를 깃헙에 올려 공유해 주시면 살펴보겠습니다.
0
2020. 08. 06. 22:13
아 제 질문이 너무 빈약했네요 죄송합니다!
강좌와 같이 DB 접속정보만 입력 후 어플을 실행했을 때
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.SQLGrammarException: Unable to build DatabaseInformation
위와같은 에러가 발생했고, 실제 생성된 테이블을 봤는데 account 테이블이 생성되지 않아 5개의 테이블만 생성된 상태였습니다.
쿼리 로그를 보니
Caused by: org.postgresql.util.PSQLException: ERROR: type "clob" does not exist
clob을 지원하지 않는다고 에러가 있었고, 저희가 프로필 이미지에서 사용하기로한 @Lob 이 원인이었던것같습니다!
그래서
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults= false
옵션을 추가해줬습니다!
그래서 강사님은 clob 어떻게 발생하지 않으셧는지 궁금했었어요!
궁금해서 스프링부트 활용 강좌의 postgresql 연동과정이 있는걸 보고 찾아봤는데도 별다른 설정 없이 잘 돌아가서요!
0
2020. 08. 06. 09:06
음..? 어떤 설정을 추가하신거죠? 그리고 어떤게 정상 작동 하는지 궁금하신건가요? DDL은 하이버네이트가 엔티티 맵핑 정보와 DB 타입을 바탕으로 생성해 주는데 무슨 문제가 있었나요?