두 손끝의 창조자

persistence.xml 없이 EntityManagerFactory 설정하기 본문

JPA

persistence.xml 없이 EntityManagerFactory 설정하기

codinglog 2021. 12. 6. 11:25

persistence.xml 없이 자바로 속성 설정해서 사용하려면

    @Bean
    public EntityManagerFactory entityManagerFactoryForMysql(DataSource dataSource) {
        final Properties properties = new Properties();
        properties.put( "hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect" );  // MySql5x 쓴다면
        properties.put( "hibernate.user_sql_comments", "true" );
        properties.put( "hibernate.format_sql", "true" );
        properties.put( "hibernate.hbm2ddl.auto", "create" );
        properties.put( "hibernate.physical_naming_strategy", "[물리이름전략개체]" );

        final LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
        entityManagerFactoryBean.setDataSource(dataSource);
        entityManagerFactoryBean.setPersistenceUnitName("[유닛이름]");
        entityManagerFactoryBean.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
        entityManagerFactoryBean.setJpaProperties(properties);
        entityManagerFactoryBean.setPackagesToScan("[엔티티스캔할 패키지]");
        entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistenceProvider.class);
        entityManagerFactoryBean.afterPropertiesSet(); // 모든 설정정보 set 후 꼭 호출해야함 !!

        return entityManagerFactoryBean.getObject();
    }
반응형
Comments