Livre-se do SQL: uma introdução ao Hibernate  XML
Índice dos Fóruns » Artigos e Tutoriais
Autor Mensagem
caiofilipini
GUJ Master
[Avatar]

Membro desde: 26/06/2003 15:17:59
Mensagens: 1255
Localização: São Paulo
Offline

O session.flush() não é redundante não, ele apenas sincroniza o estado dos objetos alterados com o estado dos dados da tabela, sem fazer commit da transação.

[]'s

Caio N. Filipini
"There is no spoon."
[Email] [WWW]
Igor_Barros
JavaGuru

Membro desde: 02/12/2003 01:22:11
Mensagens: 248
Localização: SP
Offline

-- EDITADO --
Galera, fiz rodar, mais info abaixo
-------------------------------------------------
Botei o dialect e transformei a table para mysam, ai rodou...
Agora fica a pergunta, e se eu quisesse usar innodb?
-------------------------------------------------

Fala pessoal, tudo certo?
Estou tendo um problema um tanto quanto muito demais estranho... hehehehe
Seguinte, estou usando o hibernate 2.1, todos os libs no classpath, jar do hibernate no classpath tb.
Todas as classes (Amigos, DAO, e teste) estão compilando, porém, quando vou rodar o teste ele me mostra alguns erros e tchanam... quando eu abro o banco não tem NADA!!!
segue os arquivos.
Mal ae pelo plágio de alguns testes do pessoal, mas isso é somente para aprendizado.

arquivo DAO


Arquivo Amigos


Uma curiosidade, ele fala que por default, o constructor tem que ser vazio, alguém sabe o motivo? E se eu coloco os dois, ele fala que os parametros tem que ser definidos manualmente.

Arquivo testeamigos


xml


properties


e por fim a saida que eu estou tendo


Alguém pode me ajudar?

Ele não deixa inserir um endereco atualizado no amigo eu... e por fim do banco não aparece absolutamente nada...

EDITADO
Ou melhor, porque ele não registra numa tabela InnoDB e soh em MySAM? mudei para MySAM e ele registrou os dados...
agora em InnoDB ele não registra!

Mas ele continua não inserindo depois do udpate, não atualiza o usuario.

DATABASE - MySQL 4.1

This message was edited 5 times. Last update was at 12/02/2005 16:35:08


Igor Barros

http://www.javablogs.com.br/blogs/page/igorbarros
Fabiano Freitas
Entusiasta Java
[Avatar]

Membro desde: 04/02/2005 13:58:08
Mensagens: 19
Offline

Deixe a tabela como InnoDB, inicie o controle de transação via código.



Como o InnoDB trabalha em transação, vc precisa iniciar o processo de controle na aplicação, estava funcionando com MyISAM pq este tipo de tabela não trabalha em transação.

[]'s

This message was edited 1 time. Last update was at 15/02/2005 11:49:40

fmeyer
Moderador
[Avatar]
Membro desde: 22/02/2005 17:26:29
Mensagens: 1583
Localização: Sao Paulo
Offline

Existe tambem dois otimos artigos em Revistas Sobre Hibernate
Hibernate, SQL nunca mais? O frameWork que veio pra simplificar de Fernando Boaglio (SQL Magazine 17)

Hibernate Dicas e Truques, Por Sergio Umlauf e Caio Filipini Na Mundo Java 10

Outro Lugar que eu adoro "fuçar" informações ... http://groups-beta.google.com/groups?hl=en&q=Hibernate&qt_s=Search

Fernando Meyer http://fernandomeyer.com
[Email] [WWW]
Rafael_rst
Debugger

Membro desde: 15/02/2005 17:06:38
Mensagens: 54
Offline

Muito bom o artigo, parabéns.
webeverton
Java Ninja

Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline

errinho desgraçado...

tô usando hibernate com postgreSQL... e tenho esse código pra incrementar:


Já tentei outras coisas, como substituir o native, por NATIVE...

tentei também fazer o generator desse jeito:


Mas nada funciona... o erro é:



na verdade, ele insere o dado no meu banco, só que quando vai iserir o segundo, como ele acha a mesma chave, ele da´erro....

alguma sugestão?!

value povo...


"Gosto é como braço... Alguns nascem sem..."

http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio.
[WWW]
Fabiano
JavaBaby
[Avatar]

Membro desde: 21/07/2003 08:37:12
Mensagens: 77
Localização: Joinville/SC
Offline

Sei que esse tópico é um tanto quanto antigo mas tenho de postar minha opinião. A solução é ótima (pelo menos conceitualmente, digo isso pois ainda não tenho muita experiência em grandes projetos Java). Estou retomando os estudos e também a vivência com Java (inclusive nem lembrava mais que eu estava cadastrado no GUJ).

Recentemente trabalhei em um projeto onde migramos os SQLs de MySQL para Oracle. Imagino que utilizando Hibernate não teríamos de nos preocupar com migração, é isto mesmo? Quero iniciar alguns estudos inclusive com o conceito de Spatial DBs, alguém sabe se o Hibernate trabalha bem nestes casos?

[s]
[ICQ]
claudete
JavaBaby

Membro desde: 06/03/2007 10:48:32
Mensagens: 86
Offline

oi, gente,

desculpem minha ignorância,mas pra q serve o RETRIEVE do amigoDAO?
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

olá odete,
RETRIEVE, seria a (e é) a recuperação de dados...


follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline

<post inutil>
acho que este é oficialmente, o "morto vivo" mais teimoso do GUJ
</post inutil>

[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
[WWW]
marcoslopes
Smalltalk

Membro desde: 17/10/2007 11:53:32
Mensagens: 1
Offline

Bom dia à todos, iniciei meus estudos com Hibernate, comecei a fazer o tutorial que está na documentação abaixo:
http://www.hibernate.org/hib_docs/v3/reference/en/html/
Fiz somente o primeiro exemplo, a única coisa que fiz diferente é que ao invés de utilizar o banco que eles indicam (HSQL), estou utiizando o postgre SQL 8.2,
Fiz tudo exatamente = ao tutorial, mudando somente para as configurações do postgres, tipo dialect, driver, senha usuario, etc.

Atualmente encontro este erro, no lugar onde faço estágio, tenho o mesmo ambiente instalado no estágio, na escola, e em casa.

HIBERNATE+JDK6+POSTGRESQL 8.2
Sendo que em casa e no estágio fui eu quem instalou e configurou tudo, e na escola já havia instalado o postgreSQL, ficando somente para eu configurar jdk6 + hibernate + eclipse.

Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)

.......

Caused by: java.sql.BatchUpdateException: Entrada em lote 0 insert into event (date, title, id) values (2007-10-17 -03:00:00, My Event, 3) foi abortada. Chame getNextException para ver a causa.
at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2534)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1317)

Na escola funcionou perfeitamente, no estágio está dando este erro, acima descrito, sendo que o que faço é chegar importar o project no eclipse, configurar o CLASSPATH, e rodar.

Minha pergunta é seria alguma configuração na instalação do POSTGRE que quem instalou na escola instalou "mais corretamente", ou é algum erro babaca que depois de 54646564 horas pesquisando achei somente algumas possíveis "soluções", que também não funcionaram.
[WWW] [MSN]
port8500dwl
Entusiasta Java

Membro desde: 30/08/2007 23:19:04
Mensagens: 22
Offline

Boa noite, cara já faz algum tempo né q rolou isso com vc já achou a solução, porque estou no mesmo dilema.
Se acho o que vc fez estou precisando saber.
Abraço até mais.

marcoslopes wrote:Bom dia à todos, iniciei meus estudos com Hibernate, comecei a fazer o tutorial que está na documentação abaixo:
http://www.hibernate.org/hib_docs/v3/reference/en/html/
Fiz somente o primeiro exemplo, a única coisa que fiz diferente é que ao invés de utilizar o banco que eles indicam (HSQL), estou utiizando o postgre SQL 8.2,
Fiz tudo exatamente = ao tutorial, mudando somente para as configurações do postgres, tipo dialect, driver, senha usuario, etc.

Atualmente encontro este erro, no lugar onde faço estágio, tenho o mesmo ambiente instalado no estágio, na escola, e em casa.

HIBERNATE+JDK6+POSTGRESQL 8.2
Sendo que em casa e no estágio fui eu quem instalou e configurou tudo, e na escola já havia instalado o postgreSQL, ficando somente para eu configurar jdk6 + hibernate + eclipse.

Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)

.......

Caused by: java.sql.BatchUpdateException: Entrada em lote 0 insert into event (date, title, id) values (2007-10-17 -03:00:00, My Event, 3) foi abortada. Chame getNextException para ver a causa.
at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2534)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1317)

Na escola funcionou perfeitamente, no estágio está dando este erro, acima descrito, sendo que o que faço é chegar importar o project no eclipse, configurar o CLASSPATH, e rodar.

Minha pergunta é seria alguma configuração na instalação do POSTGRE que quem instalou na escola instalou "mais corretamente", ou é algum erro babaca que depois de 54646564 horas pesquisando achei somente algumas possíveis "soluções", que também não funcionaram.
[Email]
kdoigor
JavaGuru
[Avatar]

Membro desde: 07/12/2007 22:27:29
Mensagens: 241
Offline

meu.. fiz um teste com hibernate a achei q ele perde em desempenho....
fazer sql é mto ruim mesmo, mas tb depende de como vc constrói seu código.

agora se quer mapear objetos como gente grande.. nada melgor que "DB4O"
so não fiz testes com sistemas georeferenciados, mas é mto mais rapido que um banco relacional,
não precisa mapear como o hibernate e é muito simples de usar

http://www.db4o.com/




tudo é possível ao que crê !
www.igornunes.com
[WWW] [MSN]
port8500dwl
Entusiasta Java

Membro desde: 30/08/2007 23:19:04
Mensagens: 22
Offline

Vou dar uma olhada, mais quem manda é o patrão. hehe,
T+ e value

kdoigor wrote: meu.. fiz um teste com hibernate a achei q ele perde em desempenho....
fazer sql é mto ruim mesmo, mas tb depende de como vc constrói seu código.

agora se quer mapear objetos como gente grande.. nada melgor que "DB4O"
so não fiz testes com sistemas georeferenciados, mas é mto mais rapido que um banco relacional,
não precisa mapear como o hibernate e é muito simples de usar

http://www.db4o.com/


[Email]
tchernomirdin
What is classpath?
[Avatar]

Membro desde: 04/01/2008 08:40:43
Mensagens: 5
Offline

Oi, tudo bom pessoal estou aprendendo hibernate não faz muito tempo e estou com algumas dificuldades em relação ao mapeamento many-to-many. Peguei um exemplo de uma apostila mas não estou conseguindo, quando eu arrumo um erro aparece uns quinze. Ollhai o código.




Lá vai o outro mapeamento.





Pessoal, eu não sei se está certa a minha classe teste, já que estou usando increment para gerar a chave primária, e se estiver errado como seria a maneira certa. Olha a minha classe teste.




E essa é minha persistence









[Email]
 
Índice dos Fóruns » Artigos e Tutoriais
Ir para:   
Powered by JForum 2.1.8 © JForum Team