본문 바로가기

반응형

JPA

[JPA] PhysicalNamingStrategy - Table, Column명 커스텀 저는 보통 테이블이나 컬럼명을 대문자로 사용하는데, 그럴 경우 엔티티에 아래와 같이 테이블이나 컬럼명을 지정해줘야합니다. jpa 설정 시 아래와 같이 physical-strategy를 지정하여 사용하면, 자동으로 대문자로 변환하여 사용할 수 있도록 변경할 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 spring: jpa: database: mysql database-platform: org.hibernate.dialect.MySQL8Dialect open-in-view: false show-sql: true hibernate: ddl-auto: none format_sql: true naming: implicit-strategy: org.springframework.boot.orm.jp.. 더보기
[ERROR] Error creating bean with name 'repositoryController' / At least one JPA metamodel must be present! 예전에 개발된 API에 신규 개발을 할당받아 실행을 시켰더니 아래와 같은 에러가 발생했습니다. 2020:10:16 17:27:55.691 ERROR --- [RMI TCP Connection(2)-127.0.0.1] o.s.boot.SpringApplication : Application startup failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'repositoryController' defined in URL [jar:file:/Users/jang/server/apache-tomcat-7.0.106/webapps/ROOT/WEB-INF/lib/spring-data.. 더보기
[JPA] Embeddable, Embedded 한 테이블에 동일하게 받는 데이터를 저장할 일이 생겼습니다. 아래와 같이 일일이 선언해도 무방하지만, @Embeddable과 @Embedded 어노테이션이 있다는 것을 알게 되어 사용해봤습니다. - 기존 - @Embedded @Embedded를 사용하면 같은 형태의 데이터를 위와 같이 매핑정보를 분리하여 사용할 수 있습니다. 다만 @Embedded를 통해 다른 객체를 필드에 선언한 경우 해당 엔티티에서는 다른 컬럼명을 사용하기 때문에 @AttributeOverride로 재정의가 필요합니다. @Embedded를 사용하기 위해서는 @Embeddable이 필요합니다. 당연히 테이블에는 각 컬럼이 존재해야 합니다! 더보기
[IntelliJ] IntelliJ/JPA Cannot resolve table 테이블명과 컬럼명이 정확하다면 에러는 발생하지 않으나 저렇게 빨간색 라인이 생겨 근본적인 해결방법은 datasource를 yml이나 properties에 명시해주면 되지만, 현재 개발 중인 프로젝트는 별도의 Agent에서 구동하여 datasource가 Agent에 명시되어 있어 설정에서 제거했습니다. 어노테이션, xml 중 사용 중인 부분을 제거하면 빨간 줄을 안볼 수 있습니다! 더보기

반응형