Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Video: Java Web: Saiba como Desenvolver Aplicações utilizando Spring, Hibernate e JSF na Prática - Aula 5: Persistindo suas classes com o Hibernate
Dando procedimento á quarta video aula, veremos como persistir o conteúdo de nossas classes utilizando o Hibernate.
Título: Construindo uma aplicação do início ao fim - Aula 5: Persistindo suas classes com o Hibernate
Tempo: 00:13:20
Mini resumo: Dando procedimento á quarta video aula, veremos como persistir o conteúdo de nossas classes utilizando o Hibernate. Para tal, irei apresentar uma classe bastante prática: o DAO Genérico, que diminui significativamente a repetição de nosso código ao tornar desnecessária a implementação de um DAO para cada uma de nossas classes de entidade.
O código fonte deste conjunto de aulas está disponível para download em: http://video.devmedia.com.br/RodrigoSpinola/2008_12/WDevSup.zip
Palavras-chave: JUnit, Hibernate.

6 COMENTÁRIOS
Tiago Antunes Sutilo
Boa Noite.
Estou estudando as videos aulas mas encontrei um pequeno problema quando eu executo o teste Unitario do GenericDAO estou dando um erro, percebi que quando eu mando executar o metodo save ela entre em um loop infinitou e da um erro conforme abaixo.
------------- ---------------- ---------------
------------- Standard Error -----------------
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
------------- ---------------- ---------------
Testcase: testSave(br.com.devmedia.spring.src.GenericDAOTest): Caused an ERROR
null
java.lang.StackOverflowError
at java.net.SocksSocketImpl$5.run(SocksSocketImpl.java:331)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:189)
at org.firebirdsql.gds.impl.wire.JavaGDSImpl.getSocket(JavaGDSImpl.java:39)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.openSocket(AbstractJavaGDSImpl.java:1984)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.connect(AbstractJavaGDSImpl.java:1887)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.internalAttachDatabase(AbstractJavaGDSImpl.java:394)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.iscAttachDatabase(AbstractJavaGDSImpl.java:370)
at org.firebirdsql.jca.FBManagedConnection.<init>(FBManagedConnection.java:89)
at org.firebirdsql.jca.FBManagedConnectionFactory.createManagedConnection(FBManagedConnectionFactory.java:470)
at org.firebirdsql.jca.FBStandAloneConnectionManager.allocateConnection(FBStandAloneConnectionManager.java:69)
at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:119)
at org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:131)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1353)
Por favor poderia me ajudar esta sendo de grade valia para mim estas videos aulas.
Estou estudando as videos aulas mas encontrei um pequeno problema quando eu executo o teste Unitario do GenericDAO estou dando um erro, percebi que quando eu mando executar o metodo save ela entre em um loop infinitou e da um erro conforme abaixo.
------------- ---------------- ---------------
------------- Standard Error -----------------
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
------------- ---------------- ---------------
Testcase: testSave(br.com.devmedia.spring.src.GenericDAOTest): Caused an ERROR
null
java.lang.StackOverflowError
at java.net.SocksSocketImpl$5.run(SocksSocketImpl.java:331)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:189)
at org.firebirdsql.gds.impl.wire.JavaGDSImpl.getSocket(JavaGDSImpl.java:39)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.openSocket(AbstractJavaGDSImpl.java:1984)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.connect(AbstractJavaGDSImpl.java:1887)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.internalAttachDatabase(AbstractJavaGDSImpl.java:394)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.iscAttachDatabase(AbstractJavaGDSImpl.java:370)
at org.firebirdsql.jca.FBManagedConnection.<init>(FBManagedConnection.java:89)
at org.firebirdsql.jca.FBManagedConnectionFactory.createManagedConnection(FBManagedConnectionFactory.java:470)
at org.firebirdsql.jca.FBStandAloneConnectionManager.allocateConnection(FBStandAloneConnectionManager.java:69)
at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:119)
at org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:131)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1353)
Por favor poderia me ajudar esta sendo de grade valia para mim estas videos aulas.
[há +1 ano] -
Responder
[autor]
Henrique Lobo Weissmann
Oi Tiago,
normamlmente StackOverflowError ocorre em duas situações:
* Está ocorrendo uma chamada recursiva que não está terminando: o que estoura a pilha de execução.
* Memória baixa: baixa memória de pilha.
No caso, há algum código que você possa testar para que possamos dar uma olhada?
É interessante observar também que o erro tem início no momento e que é feita a conexão com o SGBD. Verifique se ele está iniciado também. Pode ser algum erro no próprio driver do Firebird ao estabelecer conexão com o servidor.
normamlmente StackOverflowError ocorre em duas situações:
* Está ocorrendo uma chamada recursiva que não está terminando: o que estoura a pilha de execução.
* Memória baixa: baixa memória de pilha.
No caso, há algum código que você possa testar para que possamos dar uma olhada?
É interessante observar também que o erro tem início no momento e que é feita a conexão com o SGBD. Verifique se ele está iniciado também. Pode ser algum erro no próprio driver do Firebird ao estabelecer conexão com o servidor.
[há +1 ano] -
Responder

Jose Ari Vasconcelos Aguiar Filho
Bom dia estou começando meus estudos em java e estou acompanhando essa vídeo aula. Quando executo o teste o log4j esta me retornando o seguinte erro:
------------- Standard Error -----------------
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
Você poderia me dar alguma dica sobre o que pode esta acontecendo?
Grato.
------------- Standard Error -----------------
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
Você poderia me dar alguma dica sobre o que pode esta acontecendo?
Grato.
[há 12 dias] -
Responder
Wesley Yamazack
Olá Jose, entramos em contato com um dos nossos consultores para que o mesmo possa te auxiliar, tudo bem ?
Um abraço.
Um abraço.
[há 11 dias] -
Responder
[autor]
Henrique Lobo Weissmann
Oi Jose Ari,
Não é algo com o qual você deva se preocupar. O que esta mensagem está dizendo é que não foi encontrado um appender para o logger ClassPathXmlApplicationContext, que é usado pelo Spring.
Se quiser se livrar desta mensagem chata, basta criar um appender no seu arquivo do log4j e, em seguida, associá-lo ao logger ClassPathXmlApplicationContext.
Aqui um exemplo:
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
Esta instrução cria um logger que gera a saída no console.
Pra associar o logger ao appender, você deve inserir uma instrução como esta:
log4j.org.springframework.context.support.ClassPathXmlApplicationContext=INFO, CA
INFO indica o nível do log, CA qual o appender.
Mas não precisa se preocupar muito com esta mensagem. OUtro ponto a ficar esperto: o SPring usa o commons logging como biblioteca de logs. Quando fiz este curso, não usava o Maven, então você tem de ficar bem esperto para ver se não há um conflito de jars no projeto. A respeito deste último ponto, este link (http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/overview.html#d0e748) pode te ajudar.
Não é algo com o qual você deva se preocupar. O que esta mensagem está dizendo é que não foi encontrado um appender para o logger ClassPathXmlApplicationContext, que é usado pelo Spring.
Se quiser se livrar desta mensagem chata, basta criar um appender no seu arquivo do log4j e, em seguida, associá-lo ao logger ClassPathXmlApplicationContext.
Aqui um exemplo:
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
Esta instrução cria um logger que gera a saída no console.
Pra associar o logger ao appender, você deve inserir uma instrução como esta:
log4j.org.springframework.context.support.ClassPathXmlApplicationContext=INFO, CA
INFO indica o nível do log, CA qual o appender.
Mas não precisa se preocupar muito com esta mensagem. OUtro ponto a ficar esperto: o SPring usa o commons logging como biblioteca de logs. Quando fiz este curso, não usava o Maven, então você tem de ficar bem esperto para ver se não há um conflito de jars no projeto. A respeito deste último ponto, este link (http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/overview.html#d0e748) pode te ajudar.
[há 10 dias] -
Responder
Dyego Souza Do Carmo
Boa Saída :)
[há 7 dias] -
Responder
Você está em:
canal Java
Publicidade
Este post faz parte de:
Curso(s):
Java Web: Saiba como Desenvolver Aplicações utilizando Sp...
Formações:
Formação Java web Developer
Curso(s):
Formações:
Henrique Lobo Weissmann
Space do autor
É consultor Groovy/Grails, fundador do Grails Brasil e sócio da itexto Desenvolvimento de Projetos, que atua na criação de projetos adotando software livre e muito Grails.
Space do autor

download

3
0
