Bom dia a todos.
Estou tentando da um insert no MySQL, não gera nenhum erro o hibernate gera o insert no console mas quando vou no banco os dados nao estao la =[
metodo do insert
public <T> T atualiza(T entity, boolean executarFlush) {
getEntityManager().getTransaction().begin();
getEntityManager().merge(entity);
getEntityManager().getTransaction().commit();
return entity;
}
CONSOLE:
16/05/2012 11:39:29 org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
16/05/2012 11:39:29 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.0.1.Final}
16/05/2012 11:39:29 org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
16/05/2012 11:39:29 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
16/05/2012 11:39:29 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
16/05/2012 11:39:29 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20
16/05/2012 11:39:29 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000006: Autocommit mode: true
16/05/2012 11:39:29 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/MySQL]
16/05/2012 11:39:29 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000046: Connection properties: {user=root, password=****, autocommit=true, release_mode=auto}
16/05/2012 11:39:29 org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
16/05/2012 11:39:29 org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService
INFO: HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory
16/05/2012 11:39:29 org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init>
INFO: HHH000397: Using ASTQueryTranslatorFactory
16/05/2012 11:39:30 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000228: Running hbm2ddl schema update
16/05/2012 11:39:30 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000102: Fetching database metadata
16/05/2012 11:39:30 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000396: Updating schema
16/05/2012 11:39:30 org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000261: Table found: MySQL.corretor
16/05/2012 11:39:30 org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000037: Columns: [id_corretor, nome_corretor]
16/05/2012 11:39:30 org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000108: Foreign keys: []
16/05/2012 11:39:30 org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000126: Indexes: [primary]
16/05/2012 11:39:30 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000232: Schema update complete
Hibernate: insert into CORRETOR (NOME_CORRETOR) values (?)
E no bd nada =[
Tenta fazer ae getEntityManager().flush();
Após o commit.
apos o commit da exception, agora eu usei o flush depois do merge mas ficou do mesmo jeito
[quote=evertonsilvagomesjava]apos o commit da exception, agora eu usei o flush depois do merge mas ficou do mesmo jeito[/quote]Se após o commit dá exception então não vai rolar o insert mesmo. 
Qual o erro?
Commit != persistir dados no banco de dados.
Commit significa que você marcou os objetos para serem persistidos, mas eles só serão ao final da transação ou após um flush().
Hum entendi o commit, mas a exception e essa que ocorre quando uso o flush depois do commit.
javax.persistence.TransactionRequiredException: no transaction is in progress
at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:970)
at br.com.daos.GenericDaoBeanAgenciaTurismo.atualiza(GenericDaoBeanAgenciaTurismo.java:249)
at br.com.daos.GenericDaoBeanAgenciaTurismo.atualiza(GenericDaoBeanAgenciaTurismo.java:242)
at br.com.fachada.services.CorretorService.insereCorretor(CorretorService.java:10)
at br.com.controller.Controller.insereCorretor(Controller.java:17)
at br.com.view.CadastroCorretor$1.actionPerformed(CadastroCorretor.java:204)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.Dialog$1.run(Unknown Source)
at java.awt.Dialog$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
at java.awt.Dialog.setVisible(Unknown Source)
at br.com.view.Gui$2.actionPerformed(Gui.java:77)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Fala q nao tem transação em progresso, sabe como resolver?
Parceiro, posta pra gente o XML que você criou para mapear o BD.
persistence.xml
[code]<?xml version="1.0" encoding="UTF-8"?>
org.hibernate.ejb.HibernatePersistence
[/code]
[quote=evertonsilvagomesjava]persistence.xml
[code]<?xml version="1.0" encoding="UTF-8"?>
org.hibernate.ejb.HibernatePersistence
[/code][/quote]
Insere essa linha no teu XML
<property name="hibernate.hbm2ddl.auto" value="update"/>
ela ja tava, eu tirei e continuou mesma coisa =[
Então o problema deve ser outro, mas sem essa linha de código você não vai conseguir inserir no banco.
Tenso velho, nao sei mais o que fazer =[
[quote=TiagoCedrim]Insere essa linha no teu XML
<property name="hibernate.hbm2ddl.auto" value="update"/>
[/quote]Na boa, essa linha vai ajudar em nada… O.o
Olha oq o erro está falando… Onde/Como você está iniciando a transação?
Eu recupero meu entityManager aqui:
public static GenericDaoBeanAgenciaTurismo getInstance(){
if(dao == null){
return dao = new GenericDaoBeanAgenciaTurismo(HibernateUtils.getEntityManager());
}else{
return dao;
}
}
public static EntityManager getEntityManager(){
if(em == null){
EntityManagerFactory emf = Persistence.createEntityManagerFactory("AgenciaTurismoEntityManager");
em = emf.createEntityManager();
}
return em;
}
Velho no Oracle funciona :shock:
E como está seu código agora?
ta do mesmo jeito so mudei o persistence.xml pra funcionar no oracle.
a parte de inserção ta assim
getEntityManager().getTransaction().begin();
getEntityManager().merge(entity);
getEntityManager().getTransaction().commit();
E se tu colocar o flush no final, para o oracle, dá aquele erro?