package org.hibernate.examples.hibernate.config;
import org.hibernate.cfg.Environment;
import org.springframework.context.annotation.Bean;
import javax.sql.DataSource;
import java.util.Properties;
/**
* AbstractH2HibernateConfiguration
*
* @author sunghyouk.bae@gmail.com
* @since 2014. 2. 28.
*/
public abstract class AbstractH2HibernateConfiguration extends AbstractHibernateConfiguration {
public static final String DRIVER_CLASS_H2 = "org.h2.Driver";
public static final String DIALECT_H2 = "org.hibernate.dialect.H2Dialect";
@Bean
@Override
public DataSource dataSource() {
return buildDataSource(DRIVER_CLASS_H2,
"jdbc:h2:mem:" + getDatabaseName() + ";DB_CLOSE_DELAY=-1;MVCC=TRUE;",
"sa",
"");
}
@Override
public Properties hibernateProperties() {
Properties props = super.hibernateProperties();
props.put(Environment.DIALECT, DIALECT_H2);
return props;
}
}