Atualização do banco de dados com o spring

bom dia pessoal :smiley:
tenho uma classe que le meu xml e atualiza meu banco de dados.
a estrutura esta assim:
appContext-hibernate.xml

[code]













<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>[/code]

minha classe que le o xml e atualiza o banco:

[code]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);
}[/code]

mas ao executar a classe, acontece isso:

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)
alguem ja passou por isso?
abraços

Acho que trocou o nome
de:

  &lt;bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  destroy-method="close"&gt;  

Correto seria:

  &lt;bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  destroy-method="close"&gt;  

:slight_smile:

Estou enganado, a referencia está correta… foi mal.

andei lendo, em alguns casos parecer ser um bug (tem ticket aberto no jira) mas dizem que ja foi resolvido. aqui não foi resolvido aieuhaiuea