반응형
1. 설정
<!-- JPA 설정 ( 엔티티 매니저 팩토리 등록 ) -->
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 1) @Entity 탐색 범위 -->
<property name="packagesToScan"
value="com.otrodevym" />
<!-- 2) 하이버네이트 구현체 사용 -->
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<!-- 3) 하이버네이트 상세 설정 -->
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQL9Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<!-- SQL 보기 -->
<prop key="hibernate.format_sql">true</prop>
<!-- SQL 정렬해서 보기 -->
<prop key="hibernate.use_sql_comments">true</prop>
<!-- SQL 주석 보기 -->
<prop key="hibernate.id.new_generator_mappings">true</prop>
<!-- JPA 표준에 맞게 새로운 키 생성 전략을 사용 -->
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!-- DDL 자동 생성 -->
<prop key="hibernate.temp.use_jdbc_metadata_defaults">false</prop>
</props>
</property>
</bean>
<bean id="transactionManager2"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory"
ref="entityManagerFactory"></property>
</bean>
<jpa:repositories base-package="com.otrodevym.*"
transaction-manager-ref="transactionManager2"/>
create는 매번 생성 후 드랍하므로 상황에 따라 설정해주되 none이나 update를 사용합니다.
<prop key="hibernate.hbm2ddl.auto">update</prop>
org.postgresql.jdbc.PgConnection.createClob()
<prop key="hibernate.temp.use_jdbc_metadata_defaults">false</prop> 에러 발생시 false로 설정합니다.
2. 테이블 네이밍 속성 설정
user_id처럼 '_'를 사용하면 jpa에서 인식을 못하는것 같습니다.
postgresql은 대소문자를 모두 소문자로 변경하여 언더바를 사용해서 컬럼명을 정합니다.
jpa도 이에 맞춰 전부 소문자로 변경하는 네이밍 규칙을 따릅니다.
가독성을 높이기 위해 아래와 같이 설정합니다.
반응형
'개발(합니다) > 방법론' 카테고리의 다른 글
[버전관리] Semantic Versioning(시맨틱 버전관리)와 Version Ranges (0) | 2021.05.11 |
---|---|
DB 버전를 관리 코드로 하는 방법 - LIQUIBASE (0) | 2021.02.05 |
java와 javascript 정규 표현식 주의점 및 사용법 (0) | 2019.01.23 |
TDD 학습 및 실습 정리9(예제연습) (0) | 2018.12.28 |
TDD 학습 및 실습 정리8(다양한시각) (0) | 2018.12.27 |