Hibernate: NullPointerException ao chamar o commit

2 respostas
denislima

Pessoal,

Estou implementando um codigo basico de Hibernate.

Ao chamar o commit da NullPointerException.

Alguem sabe o que poderia ser?

public static void main(String[] args) {
		
		try{
			SessionFactory fabrica = new Configuration().configure().buildSessionFactory();
			Session sessao = fabrica.openSession();
			
			Aluno aluno = new Aluno();
			aluno.setId(1);
			aluno.setNome("Joao");
			aluno.setIdade(10);
			
			Transaction txAluno = sessao.beginTransaction();
			sessao.save(aluno);
			txAluno.commit();
			sessao.close();
			System.out.println("Insercao Realizada com sucesso!");
				
		}catch(Exception e){
			e.printStackTrace();
		}

	}
<hibernate-mapping>
	<class name="hibernate.Aluno" table="aluno">
		<id name="id" column="id" type="int"/>
		<property name="nome"/>
		<property name="idade"/>
	</class>
</hibernate-mapping>
<hibernate-configuration>
	<session-factory>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>  
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/db02</property>  
		<property name="hibernate.connection.username">xxx</property>  
		<property name="hibernate.connection.password">xxx</property>  
		<property name="hibernate.show_sql">true</property>  
		<property name="hibernate.format_sql">true</property>
		<mapping resource="aluno.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

Se alguem puder ajudar agradeço!

vallew

2 Respostas

m0ska

Cara aconselho a procurar no log e a usar o sistema no modo de depuração, pode haver um problema de config no hibernate, problema com conexão e vários outros, vai no modo debug linha por linha.

denislima

Blz cara…vo ve em modo Debug…

vallew

Segue o stake trace…

log4j:WARN No appenders could be found for logger (MySQL).
log4j:WARN Please initialize the log4j system properly.
2394 [main] INFO org.hibernate.cfg.SettingsFactory - RDBMS: MySQL, version: 5.0.41-community-nt
2395 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-3.1.10 ( $Date: 2005/05/19 15:52:23 $, $Revision: 1.1.2.2 $ )
2446 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.MySQLDialect
2457 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Using default transaction strategy (direct JDBC transactions)
2461 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
2461 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
2462 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
2462 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15
2462 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
2463 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
2463 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): enabled
2464 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
2466 [main] INFO org.hibernate.cfg.SettingsFactory - Maximum outer join fetch depth: 2
2466 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
2467 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
2467 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
2467 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
2467 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
2476 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
2476 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
2476 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
2476 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
2476 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
2476 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
2477 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
2477 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
2487 [main] INFO org.hibernate.cfg.SettingsFactory - Echoing all SQL to stdout
2489 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
2489 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
2489 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
2490 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
2591 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
3006 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
Hibernate: 
    insert 
    into
        aluno
        (nome, idade, id) 
    values
        (?, ?, ?)
java.lang.NullPointerException
	at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:562)
	at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:504)
	at com.mysql.jdbc.PreparedStatement.toString(PreparedStatement.java:3228)
	at java.lang.String.valueOf(Unknown Source)
	at java.lang.StringBuffer.append(Unknown Source)
	at com.mysql.jdbc.trace.Tracer.printParameters(Tracer.aj:240)
	at com.mysql.jdbc.trace.Tracer.printEntering(Tracer.aj:167)
	at com.mysql.jdbc.trace.Tracer.entry(Tracer.aj:126)
	at com.mysql.jdbc.trace.Tracer.ajc$before$com_mysql_jdbc_trace_Tracer$1$f51c62b8(Tracer.aj:45)
	at com.mysql.jdbc.Connection.registerStatement(Connection.java)
	at com.mysql.jdbc.Statement.<init>(Statement.java:190)
	at com.mysql.jdbc.PreparedStatement.<init>(PreparedStatement.java:429)
	at com.mysql.jdbc.ServerPreparedStatement.asSql(ServerPreparedStatement.java:338)
	at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:504)
	at com.mysql.jdbc.ServerPreparedStatement.toString(ServerPreparedStatement.java:2226)
	at java.lang.String.valueOf(Unknown Source)
	at java.lang.StringBuffer.append(Unknown Source)
	at com.mysql.jdbc.trace.Tracer.printParameters(Tracer.aj:240)
	at com.mysql.jdbc.trace.Tracer.printEntering(Tracer.aj:167)
	at com.mysql.jdbc.trace.Tracer.entry(Tracer.aj:126)
	at com.mysql.jdbc.trace.Tracer.ajc$before$com_mysql_jdbc_trace_Tracer$1$f51c62b8(Tracer.aj:45)
	at com.mysql.jdbc.Connection.registerStatement(Connection.java)
	at com.mysql.jdbc.Statement.<init>(Statement.java:190)
	at com.mysql.jdbc.PreparedStatement.<init>(PreparedStatement.java:411)
	at com.mysql.jdbc.ServerPreparedStatement.<init>(ServerPreparedStatement.java:275)
	at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4245)
	at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4185)
	at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
	at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:116)
	at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
	at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2242)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2678)
	at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028)
	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366)
	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
	at hibernate.Principal.main(Principal.java:28)
Criado 6 de setembro de 2009
Ultima resposta 6 de set. de 2009
Respostas 2
Participantes 2