Hinernate mostra insert into mas nõ persiste

Java

07/05/2012

O hibernate mostra que deu o insert into, mas não salva nada no banco alguém sabe pq?


ibernate: insert into dbo.USUARIO (BLOQUEADO, EMAIL, LOGIN, NOME, PASSWORD, STATUS, TIPO_USUARIO) values (?, ?, ?, ?, ?, ?, ?)
2012-05-07 14:18:19,420 TRACE [org.hibernate.type.BooleanType] binding false to parameter: 1
2012-05-07 14:18:19,421 TRACE [org.hibernate.type.StringType] binding www@gmail.com to parameter: 2
2012-05-07 14:18:19,421 TRACE [org.hibernate.type.StringType] binding cits\admineee to parameter: 3
2012-05-07 14:18:19,421 TRACE [org.hibernate.type.StringType] binding ewewe to parameter: 4
2012-05-07 14:18:19,421 TRACE [org.hibernate.type.StringType] binding 7be619cef976ca5ce3caff2eb072a7f7 to parameter: 5
2012-05-07 14:18:19,427 DEBUG [org.hibernate.type.EnumType] Binding ATIVO to parameter: 6
2012-05-07 14:18:19,428 DEBUG [org.hibernate.type.EnumType] Binding COMPRADOR to parameter: 7




não dar erro nem nada
Wisley Souza

Wisley Souza

Curtidas 0

Respostas

Davi Costa

Davi Costa

07/05/2012

tá usando spring com hibernate né?
se sim posta aqui sua configuração (.xml)

att Davi
GOSTEI 0
Wisley Souza

Wisley Souza

07/05/2012


<beans xmlns=http://www.springframework.org/schema/beans
	xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
	xmlns:aop=http://www.springframework.org/schema/aop
	xmlns:context=http://www.springframework.org/schema/context
	xmlns:tx=http://www.springframework.org/schema/tx
	xmlns:util=http://www.springframework.org/schema/util
	xmlns:jee=http://www.springframework.org/schema/jee
	xsi:schemaLocation=http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
       http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd
	   http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd>

	<tx:annotation-driven transaction-manager=txManager />	
	<context:annotation-config />
	<context:component-scan base-package=br.com.frisbee, br.com.frisbee.seguranca.presentation.mbean />
	<aop:aspectj-autoproxy/>
	
	<!-- Gerenciador de transacoes baseado em JPA -->
	<bean id=txManager
		class=org.springframework.orm.jpa.JpaTransactionManager>
		<property name=entityManagerFactory ref=entityManagerFactory />
	</bean>

	<!-- banco desenv -->
	<bean id=myDataSource class=com.mchange.v2.c3p0.ComboPooledDataSource destroy-method=close>
		<property name=driverClass value=com.microsoft.sqlserver.jdbc.SQLServerDriver />
		<property name=jdbcUrl value=jdbc:sqlserver://192.168.0.109:1433;databaseName=frisbee />
		<property name=user value=perlos />
		<property name=password value=perlos />
		<property name=initialPoolSize value=20 />
 		<property name=minPoolSize value=20 />
 		<property name=maxPoolSize value=20 />
 		<property name=idleConnectionTestPeriod value=500 /> 		
 		<property name=acquireIncrement value=1 />
 		<property name=maxStatements value=1000 /> 		 		
 		<property name=numHelperThreads value=1 />
 		<property name=maxIdleTime value=5></property> 
	</bean>
	
	
	
	
	<!-- Fabrica de entity managers --> 
	<bean id=entityManagerFactory class=org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean>
		<property name=dataSource ref=myDataSource />
		<property name=persistenceUnitName value=frisbee />				
		<property name=jpaVendorAdapter>
			<bean class=org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter>
				<property name=showSql value=true />
 				<property name=generateDdl value=true />
 				<property name=databasePlatform value=org.hibernate.dialect.SQLServerDialect />				
			</bean>
		</property>  		
	</bean>
	
	<bean id=myAspect class=br.com.frisbee.geral.business.BusinessInterceptor/>
	
</beans>



persistence:



<?xml version=1.0 encoding=UTF-8?>
<persistence version=1.0
	xmlns=http://java.sun.com/xml/ns/persistence xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
	xsi:schemaLocation=http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd>

	<persistence-unit name=frisbee transaction-type=RESOURCE_LOCAL>
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		
		<class>br.com.frisbee.seguranca.business.entity.Usuario</class>
		<class>br.com.frisbee.seguranca.business.entity.Perfil</class>
		<class>br.com.frisbee.seguranca.business.entity.Funcionalidade</class>

		<exclude-unlisted-classes>false</exclude-unlisted-classes>

		<properties>
			<property name=hibernate.dialect value=org.hibernate.dialect.SQLServerDialect />
			<property name=hibernate.show_sql value=true />
			<property name=hibernate.format_sql value=false />
			<property name=hibernate.max_fetch_depth value=2 />
			
			<property name=hibernate.connection.pool_size value=30 />

			<property name=hibernate.default_schema value=dbo />
			<property name=hibernate.c3p0.timeout value=60 />
			<property name=hibernate.connection.release_mode value=after_statement />

		</properties>


	</persistence-unit>

</persistence>

GOSTEI 0
Lucas Costa

Lucas Costa

07/05/2012

Cara, voce esta inserindo no banco certo? pode ser que tenha outros bancos por aí e esteja trabalhando com o banco errado (enganado). Não vi no seu persistence a propriedade hbm2ddll.auto, insira esta propriedade com valor validate .
att

Lucas.
GOSTEI 0
Wisley Souza

Wisley Souza

07/05/2012

eu tirei de proposito, pra fazer um teste, depois coloquei de novo,...
está no banco certo sim.
GOSTEI 0
Davi Costa

Davi Costa

07/05/2012

add no arquivo de configuração do spring:

<tx:advice id=txAdvice>
<!-- configuracoes das transacoes -->
<tx:attributes>
<!-- todos os metodos que comecam com select e find sao read-only -->
<tx:method name=select*
propagation=SUPPORTS read-only=true />
<tx:method name=find*
propagation=SUPPORTS read-only=true/>
<!-- Os outros metodos possuem requerem uma transacao -->
<tx:method name=*
propagation=REQUIRED />
</tx:attributes>
</tx:advice>

<aop:config>
<!-- Todos as instancias das classes que fazem parte do pacote service, independente da
hierarquia, terao os metodos gerenciados -->
<aop:pointcut id=serviceMethods
expression=execution(* br.com.app.teste..*.*(..)) />
<aop:advisor advice-ref=txAdvice
pointcut-ref=serviceMethods />
</aop:config>


muita atenção em dois pontos:

na minha app br.com.app.service..*.*(..) service é o pacote que possui os métodos que entram em conexão com o banco via hibernate. Esses ..*.*(..) são necessários é assim mesmo

Nesse trecho:

<!-- todos os metodos que comecam com select e find sao read-only -->
<tx:method name=select*
propagation=SUPPORTS read-only=true />
<tx:method name=find*
propagation=SUPPORTS read-only=true/>
<!-- Os outros metodos possuem requerem uma transacao -->
<tx:method name=*
propagation=REQUIRED />

está assim pq meus métodos segue um padrão (DAO) métodos que começão com find e select são read-only pois são só de pesquisa, os outros onde entrariam inserts e updates são transacionais e comitaram as transações ao banco


att Davi
GOSTEI 0
POSTAR