Hibernate Mostra insert, mas não persiste no banco

14 respostas
W

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 '[email removido]' 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

14 Respostas

drsmachado

Está comitando?

W

e nao gera erro nem exception

diegosantiviago

Fez o commit?

W

meu persistence:

<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>
W
public Usuario cadastrar(Usuario usuario) throws ExceptionNegocio {

	
		try {
			getEntityManager().persist(usuario);
			getEntityManager().flush();

		} catch (Exception e) {
			e.printStackTrace();
			getEntityManager().getTransaction().rollback();
		} 
		

			return usuario;


	}
drsmachado

Faltou

getEntityManager().getTransaction().commit();
W

dar esse erro quando coloco o que vc disse

java.lang.IllegalStateException: Not allowed to create transaction on shared EntityManager - use Spring transactions or EJB CMT instead
W

why???

drsmachado

Este tipo de atitude não adianta, tampouco ajuda.

O que está ocorrendo é que você não sabe onde colocar cada coisa e não parece preocupado com isso.

Eu já dei a dica, se você tiver o mínimo de bom senso e ler a documentação, já consegue corrigir o problema.

Outra coisa, quando postar, seja o mais claro possível, dê detalhes do que ocorre, caso contrário, os demais foristas podem, como eu fiz, não entender e não responder por isso.

W

Obrigado DR. sabe tudo, primeiro eu li a documentação, não ta fim de responder não responde… segundo não existe detalhe e akilo que escrevi e pronto, se tivesse detalhe eu teria achado no google, não dar erro, não dar exception e está tudo configurado corretamente pq eu já usei isso em um projeto anterior com jsf 1.2…

mais uma coisa resolvi sem sua ajuda, alias a maioria das coisas “estranhas” ou dificil forista brasileiro não ajuda a resolver, obrigado MR. Irritação… usei de burrice sua dica, pq o framework criado com spring já faz comit… bom fica ai pagando de bozão pros noobs.

diegosantiviago

o cara vem pedir ajuda, em nenhum momento cita spring e fica irritado ainda.

W

vc por acaso leu as outras coisas que escrevi? tipo isso:

use Spring transactions or EJB CMT instead?

diegosantiviago

desculpa minha ignorância, não sabia que o Spring estava gerenciando suas transações. :slight_smile:

poderíamos falar pra voce mexer no flushMode ou algo do gênero.

mas enfim, se você resolveu, estou feliz!

agora pare de encher o saco e vá fazer algo de útil.

W

e pra continuar enchendo o saco, o problema era conflito de bibliotecas, spring 2.5 contra 3.0 estava a fazer a migração, mas esqueci algumas bibliotecas… qnd tirei tudo, funcionou.

Criado 7 de maio de 2012
Ultima resposta 7 de mai. de 2012
Respostas 14
Participantes 3