Alguém sabe me dizer se preciso criar um arquivo .hbm.xml p/ kda classe persistente mesmo utilizando Hibernate Annotations?
Duvida Hibernate
14 Respostas
ou usa anotação ou usa xml
[2]
pode cre…
foi oq pensei!!!
eh que da dano um erro no meu projeto q não sei mais oq pode c viu!!! Pensei q poderia c a falta destes arquivos .hbm.xml… Ja q estou usando Annotations, não precisa.
O erro q ta dando eh:
Sabe oq que pode c? To començando com Hibernate agora q não sei muito oq fazer!!!
Vlw.
Parece que não está conseguindo conexão com o banco de dados.
Reveja se sua conexão está funcionando. Pode ser que não tenha nada a ver com o Hibernate.
Apenas está dizendo que não pode executar a query por esse motivo.
Parece que não está conseguindo conexão com o banco de dados.Reveja se sua conexão está funcionando. Pode ser que não tenha nada a ver com o Hibernate.
Apenas está dizendo que não pode executar a query por esse motivo.
intao…
eh uma aplicação web que estou tentando por p/ rodar, e nao sei c precisa ser feita uma config. adicional p/ funcionar corretamente… pensei na possibilidade d o container não estar conseguindo fazer a conexao com o banco!!!
criei um topico recentemente esplicando mais detalhadamente o meu problema! c poder dar uma olhada…
http://www.guj.com.br/posts/list/85875.java
detalhe: estou usando aquele plugin do hibernate p/ eclipse e nao sei c ele eh a causa deste erros, pq ouvi fala q sempre da bug quando eh utilizado…
:!:
Faz o seguinte… posta o seus hibernate.cfg.xml… pra gente pelos menos te dar uma direção do que pode ser.
e posta tambem qual banco se ta usando…
e os jars que estão no seu container web.
assim agente consegue te ajudar
Faz o seguinte... posta o seus hibernate.cfg.xml.. pra gente pelos menos te dar uma direção do que pode ser.e posta tambem qual banco se ta usando....
e os jars que estão no seu container web.assim agente consegue te ajudar
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>
<property name="hibernate.connection.driver_class">org.firebirdsql.jdbc.FBDriver</property>
<property name="hibernate.connection.password">masterkey</property>
<property name="hibernate.connection.url">jdbc:firebirdsql://localhost:3050/C:/Arquivos de programas/TSDA/Sistema ZEUS/ZEUS.GDB</property>
<property name="hibernate.connection.username">sysdba</property>
<property name="hibernate.dialect">org.hibernate.dialect.InterbaseDialect</property>
<mapping class="net.sytes.tsda.zeuswebserver.bean.Abrigo"/>
<mapping class="net.sytes.tsda.zeuswebserver.bean.LogSistema"/>
<mapping class="net.sytes.tsda.zeuswebserver.bean.Remota"/>
<mapping class="net.sytes.tsda.zeuswebserver.bean.UltimoAcesso"/>
<mapping class="net.sytes.tsda.zeuswebserver.bean.Usuario"/>
</session-factory>
</hibernate-configuration>
to usando o firebird como banco de dados!!!
Os jars sao:
hibernate:
ehcache-1.1.jar
jta.jar
xml-apis.jar
commons-logging-1.0.4.jar
c3p0-0.8.5.2.jar
asm-attrs.jar
log4j-1.2.9.jar
dom4j-1.6.jar
antlr-2.7.5H3.jar
cglib-2.1.jar
asm.jar
jdbc2_0-stdext.jar
jaxen-1.1-beta-7.jar
xerces-2.6.2.jar
hibernate3.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
ejb3-persistence.jar
commons-collections-2.1.1.jar
driver firebird:
firebirdsql-full.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.6.jar
xwork-2.0.1.jar
Ueeeee javascript:emoticon(’:shock:’); :-o javascript:emoticon(’:shock:’);
No teórico … está tudo certo …!!!
Faz o seguinte… quando voce vai subir o programa… me passa o log que ele solta…
porque pode ser que o Hibernate num ta achando a configuração do hibernate-cfg.xml
isso já aconteceu comigo
ou tenta assim que vai te matar a dúvida…
tenta conectar por jdbc normalmente…(pela classe eu digo)… se conecta…é quase 90 % que seja que o hibernate não encontra a configuração
mas em todo caso fico no aguardo do seu log beleza?
Abraços
Ueeeee javascript:emoticon(’:shock:’); :-o javascript:emoticon(’:shock:’);
No teórico … está tudo certo …!!!Faz o seguinte… quando voce vai subir o programa… me passa o log que ele solta…
porque pode ser que o Hibernate num ta achando a configuração do hibernate-cfg.xmlisso já aconteceu comigo
ou tenta assim que vai te matar a dúvida…
tenta conectar por jdbc normalmente…(pela classe eu digo)… se conecta…é quase 90 % que seja que o hibernate não encontra a configuraçãomas em todo caso fico no aguardo do seu log beleza?
Abraços
Eai kra, blz?
intao… quando do um run on server eh exibida varias msns no meu console!!! Tem 2 linhas que são de log, mas nao sei c eh oq vc quer verificar!
Veja:
log4j:WARN No appenders could be found for logger (org.apache.catalina.session.ManagerBase).
log4j:WARN Please initialize the log4j system properly.
mas em todo o caso vou postar todas as msgs:
28/03/2008 10:48:50 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Arquivos de programas\Java\jre1.5.0_06\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\Arquivos de programas\Java\jre1.5.0_06\bin\client;C:\Arquivos de programas\Java\jre1.5.0_06\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;
28/03/2008 10:48:50 org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
28/03/2008 10:48:50 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 718 ms
28/03/2008 10:48:50 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
28/03/2008 10:48:50 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.15
28/03/2008 10:48:50 org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
28/03/2008 10:48:50 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
INFO: Parsing configuration file [struts-default.xml]
28/03/2008 10:48:51 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
INFO: Parsing configuration file [struts-plugin.xml]
28/03/2008 10:48:51 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
INFO: Parsing configuration file [struts.xml]
28/03/2008 10:48:51 org.apache.struts2.config.Settings getLocale
WARNING: Settings: Could not parse struts.locale setting, substituting default VM locale
28/03/2008 10:48:51 com.opensymphony.xwork2.util.ObjectTypeDeterminerFactory <clinit>
INFO: Detected GenericsObjectTypeDeterminer, initializing it...
28/03/2008 10:48:51 com.opensymphony.xwork2.util.XWorkConverter getInstance
INFO: Detected AnnotationXWorkConverter, initializing it...
log4j:WARN No appenders could be found for logger (org.apache.catalina.session.ManagerBase).
log4j:WARN Please initialize the log4j system properly.
28/03/2008 10:48:52 org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
28/03/2008 10:48:52 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
28/03/2008 10:48:52 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/31 config=null
28/03/2008 10:48:52 org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
28/03/2008 10:48:53 org.apache.catalina.startup.Catalina start
INFO: Server startup in 2719 ms
Por jdbc funciona normalmente pq já tinha feito este msm projeto sem hibernate…
Vlw por continuar me ajudando!!!
Eu fiz um teste aqui e parece que deu certo, pelo menos meio certo!
Estava usando a anotação @Entity do pacote javax.persistence na minha bean Usuario. Passei a usar esta mesma anotação mas do pacote org.hibernate.annotations.
A mensagem de erro anterior de “Could not execute query” nao foi exibida mais, porem ainda nao esta fuincionando como deveria!!! Efetuo o login com um usuario válido e ainda nao sou autenticado com devia! Sou redirecionado p/ a pagina de usuario invalido!!!
Ainda acho q falta alguma coisa, um detalhe p/ que o hibernate funcione corretamente…
Vc chegou a analizar o outro topico que criei??? o link esta mais a cima!!!
Então cara… olhando no seu lOg ai em cima… não vi nenhuma atuação hibernate
como voce disse parece que funcionou entre “” …
agora passa o teu código que voce ta usando pra executar
vamos ver o que ta errado no Codigo
Então cara... olhando no seu lOg ai em cima... não vi nenhuma atuação hibernatecomo voce disse parece que funcionou entre "" ...
agora passa o teu código que voce ta usando pra executar
vamos ver o que ta errado no Codigo
intao... abaixo ta o codigo da classe responsavel pela configuracao do hibernate:
HibernateUtil.java:
package net.sytes.tsda.zeuswebserver.util;
import net.sytes.tsda.zeuswebserver.bean.*;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaUpdate;
public class HibernateUtil
{
private static SessionFactory sessionFactory;
static
{
initFactory();
}
private static void initFactory()
{
try
{
AnnotationConfiguration annotationConfiguration = new AnnotationConfiguration();
loadClasses(annotationConfiguration);
annotationConfiguration.configure();
new SchemaUpdate(annotationConfiguration).execute(false, true);
sessionFactory = annotationConfiguration.buildSessionFactory();
}
catch (HibernateException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
sessionFactory = null;
}
}
private static void loadClasses(AnnotationConfiguration annotationConfiguration)
{
annotationConfiguration.addAnnotatedClass(Abrigo.class);
annotationConfiguration.addAnnotatedClass(LogSistema.class);
annotationConfiguration.addAnnotatedClass(Remota.class);
annotationConfiguration.addAnnotatedClass(UltimoAcesso.class);
annotationConfiguration.addAnnotatedClass(Usuario.class);
}
public static Session getSession()
{
if(sessionFactory == null)
initFactory();
return sessionFactory.openSession();
}
}
codigo da consulta:
public boolean procura(Usuario usuario)
{
List<Usuario> list = null;
try
{
this.daoFactory.beginTransaction();
list = this.daoFactory.getUsuarioDao().existeUnico(usuario);
this.daoFactory.commit();
this.daoFactory.closeSession();
}
catch(Exception e)
{
this.daoFactory.rollback();
System.out.println(e);
}
if(!list.isEmpty())
return true;
else
return false;
}
public List<Usuario> existeUnico(Usuario usuario)
{
Criteria criteria = getSession().createCriteria(Usuario.class);
criteria.add(Restrictions.eq("nome", usuario.getNome()));
criteria.add(Restrictions.eq("senha", usuario.getSenha()));
List<Usuario> list = criteria.list();
return list;
}
a tabela Usuarios esta com a seguinte estrutura:
TABLE USUARIOS (
INDICE INTEGER NOT NULL,
NOME VARCHAR(20),
SENHA VARCHAR(20),
FLAGS INTEGER)
de uma olhada p/ v c a minha classe bean Usuario está anotada de acordo com a tabela:
package net.sytes.tsda.zeuswebserver.bean;
import javax.persistence.*;
import org.hibernate.annotations.Entity;
@Entity
@Table(name="usuarios", schema="anotacoes")
public class Usuario
{
@Id
private int indice;
private String nome;
private String senha;
public final int getIndice()
{
return indice;
}
public final void setIndice(int indice)
{
this.indice = indice;
}
public final String getNome()
{
return nome;
}
public final void setNome(String nome)
{
this.nome = nome;
}
public final String getSenha()
{
return senha;
}
public final void setSenha(String senha)
{
this.senha = senha;
}
}
To achano estranho pq eh retornado null p/ minha lista de usuarios! eh como c nao achasse o usuario logado!!!
consegui resolver meu problema!!! Aleluia…
note que na minha classe bean Usuario eu utilizava a anotação @Table com a propriedade schema=“anotacoes”. Eu retirei esta propriedade e deixei somente @Table(name=“aluno”)!!! Funcionou normalmente!!!
gostaria agora de criar um mecanismo q verificasse se o usuário esta ou nao logado no sistema antes de exibir as demais paginas… qual seria a melhor maneira de se criar isto???