package org.hibernate.examples.jpa.config;
import org.hibernate.cfg.Environment;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.sql.DataSource;
import java.util.Properties;
/**
* HSQL DB를 사용하는 Spring 용 Hibernate 환경설정 정보
*
* @author 배성혁 sunghyouk.bae@gmail.com
* @since 2013. 11. 28. 오후 1:33
*/
@Configuration
@EnableTransactionManagement
public abstract class AbstractHSqlJpaConfiguration extends AbstractJpaConfiguration {
public static final String DRIVER_CLASS_HSQL = "org.hsqldb.jdbcDriver";
public static final String DIALECT_HSQL = "org.hibernate.dialect.HSQLDialect";
@Override
public DataSource dataSource() {
return buildDataSource(DRIVER_CLASS_HSQL,
"jdbc:hsqldb:mem:" + getDatabaseName() + ";MVCC=TRUE;",
"sa",
"");
}
@Override
public Properties jpaProperties() {
Properties props = super.jpaProperties();
props.put(Environment.DIALECT, DIALECT_HSQL);
return props;
}
}