[RESOLVIDO] Error RollBack Hibernate

10 respostas
david.cs20

Boa tarde !
Apos muda a string do meu banco de local para um servidor o mesmo esta disparando essa exception referente a rollback alguem pode me auxiliar na resoluç

org.hibernate.TransactionException: JDBC rollback failed
	org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:204)
	br.com.caelum.vraptor.util.hibernate.HibernateTransactionInterceptor.intercept(HibernateTransactionInterceptor.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:23)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)

Hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<!-- Configuração Banco do Banco -->
		<property name="hibernate.connection.username">highlan1</property>
		<property name="hibernate.connection.password">highnew09</property>
		<property name="hibernate.connection.url">jdbc:mysql://localhost/phpmyadmin/highlan1?autoReconnect=true</property>
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
		<property name="show_sql">true</property>
		<property name="format_sql">true</property>
		<property name="hibernate.hbm2ddl.auto">update</property>

		<!-- entidades -->
		<mapping class="br.com.highlan.modelo.Dispositivo" />
		<mapping class="br.com.highlan.modelo.Usuario" />
		
	</session-factory>
</hibernate-configuration>

10 Respostas

Lucas_Cavalcanti

é só esse erro que dá? qdo ele acontece?

david.cs20

Quando vou fazer login no sistema !
esse banco esta na locaweb
Mais tenho a mesma estrutura de banco só que localhost. E advinha não da esse erro !
Alias não da erro nenhum !!!

dtxk

david.cs20:
Quando vou fazer login no sistema !
esse banco esta na locaweb
Mais tenho a mesma estrutura de banco só que localhost. E advinha não da esse erro !
Alias não da erro nenhum !!!

Cola a parte do código que você faz login e depois da rollback.

david.cs20
@Resource
public class UsuariosController {
	private final UsuarioDao dao;
	private final Result result;
	private final Validator validator;
	private final UsuarioWeb usuarioWeb;

	public UsuariosController(UsuarioDao dao, Result result,
			Validator validator, UsuarioWeb usuarioWeb) {
		this.usuarioWeb = usuarioWeb;
		this.dao = dao;
		this.result = result;
		this.validator = validator;
	}

	@Post
	@Path("/login")
	public void login(Usuario usuario) {
		Usuario carregado = dao.carrega(usuario);
		if (carregado == null) {
			validator.add(new ValidationMessage("Login e/ou senha inválidos",
					"usuario.login"));
		}
		validator.onErrorUsePageOf(UsuariosController.class).loginForm();
		usuarioWeb.login(carregado);
		result.redirectTo(DispositivoController.class).lista();
	}

	@Post
	@Path("/usuarios")
	public void adiciona(Usuario usuario) {
		if (dao.existeUsuario(usuario)) {
			validator.add(new ValidationMessage("Login já existe",
					"usuario.login"));
		}
		validator.onErrorUsePageOf(UsuariosController.class).novo();
		dao.adiciona(usuario);
		result.redirectTo(DispositivoController.class).lista();
	}

	public void novo() {
	}

	@Get
	@Path("/login")
	public void loginForm() {
	}

	@Path("/logout")
	public void logout() {
		usuarioWeb.logout();
		
		//Apos realizar logout ele redireciona para a tela de login.
		result.redirectTo(this).loginForm();
		
	}

}
dtxk

pelo que eu entendi… ele esta sem conexão e está dando rollback numa transação inexistente, por isso ta falhando.

Esse rollback, onde vc esta dando isso? Em qual parte do código?

david.cs20

Em nenhuma parte !

dtxk

david.cs20:
Em nenhuma parte !

deve ser interno então… faz o seguinte, cria uma classe simples conectando no banco de dados e retorna uma mensagem tipo “Conexão feita com sucesso!” para ver se vc esta errando na conexão… tipo usuario/senha e etc…

Eu ainda acho q vc esta sem conexão no banco…

dtxk

outra coisa vc esta usando Spring e RestFul ?

david.cs20

Sim estou usando !
E Fiz o teste de conexão e esta funcionando sim !
Agora nao sei se esse erro pode ser algo na locaweb pois quando forcei a aplicação a atualizar funcionou !
E como se ele tivesse perdendo a conexão e não conseguisse pegar novamente !

david.cs20

Descobrir o erro !
Meu plano na locaweb nao suporta nem conexão via hibernate.

Criado 1 de setembro de 2011
Ultima resposta 2 de set. de 2011
Respostas 10
Participantes 3