<!-- Cria um pool de conexões com o banco -->
<bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="user" value="postgres"/>
<property name="password" value="adminadmin"/>
<property name="driverClass" value="org.postgresql.Driver"/>
<property name="jdbcUrl" value="jdbc:postgresql://127.0.0.1:5432/athus"/>
<property name="initialPoolSize" value="50"/>
<property name="maxPoolSize" value="1000"/>
<property name="minPoolSize" value="20"/>
<property name="checkoutTimeout" value="10000"/>
<property name="acquireIncrement" value="1"/>
<property name="acquireRetryAttempts" value="50"/>
<property name="maxIdleTime" value="1800"/>
<property name="maxStatements" value="50"/>
</bean>
<bean id="defaultLobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" />
<!-- SessioFactory de sessões com o banco -->
<bean id="sessionFactory" class="br.com.athus.factory.AthusFactoryBean" destroy-method="destroy">
<property name="dataSource" ref="pooledDataSource" />
<property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />
<property name="configLocation" value="classpath:br/com/athus/hibernate.cfg.xml" />
<property name="lobHandler" ref="defaultLobHandler" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.current_session_context_class">thread</prop>
<prop key="hibernate.generate_statistics">true</prop>
<prop key="hibernate.bytecode.use_reflection_optimizer">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.transaction.flush_before_completion">true</prop>
<prop key="hibernate.transaction.factory_class">
org.springframework.orm.hibernate3.SpringTransactionFactory</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<!-- Atualiza o banco ao iniciar o sistema -->
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
public static void main(String[] args) {
ApplicationContext path =
new FileSystemXmlApplicationContext(
System.getProperty("user.dir") + "/WebContent/WEB-INF/applicationContext-hibernate.xml");
AthusFactoryBean sf = (AthusFactoryBean) path.getBean("&sessionFactory");
AnnotationConfiguration cfg = (AnnotationConfiguration) sf.getConfiguration();
SchemaUpdate se = new SchemaUpdate(cfg);
se.execute(true, true);
}
ERROR [main] (SchemaUpdate.java:222) - could not complete schema update
org.hibernate.HibernateException: No local DataSource found for configuration - 'dataSource' property must be set on LocalSessionFactoryBean
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.configure(LocalDataSourceConnectionProvider.java:49)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:79)
at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:51)
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:168)
at br.com.athus.util.database.AtualizarDB.main(AtualizarDB.java:21)
