Aplicação nao encontra session.find(condicao) do Hibernate

Olá pessoal.

Estou usando o Hibernate 3.2, criei a classe KitnetsDAO que persisti os objetos da minha classe Kitnets , mas está dando um erro na minha classe DAO, procurei aqui no forum mas não encontrei nenhum topico que pudesse me ajudar.O Hibernate nao consegue encontrar a minha lista de objetos.
Olha a minha classe DAO :

[code]
package cadastro;

import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class KitnetsDAO{

private SessionFactory factory;

public KitnetsDAO() throws Exception{
factory = new Configuration().addClass(Kitnets.class).buildSessionFactory();
}

public void insert(Kitnets kitnets) throws Exception{
Session session = factory.openSession();
session.save(kitnets);
session.flush();
session.close();
}

public java.util.List getList(String condicao) throws Exception{
Session session = factory.openSession();
List kitnets = session.find(condicao);
session.flush();
session.close();
return kitnets;
}

public Kitnets retrieve(String pk) throws Exception{
Session session = factory.openSession();
Kitnets kitnets = (Kitnets)session.load(Kitnets.class, pk);
session.flush();
session.close();
return kitnets;
}

public void delete(Kitnets kitnets) throws Exception{
Session session = factory.openSession();
session.delete(kitnets);
session.flush();
session.close();
}
}[/code]

O erro que aparece no Netbenas 5.5:

C:\LojaImoveis\src\java\cadastro\KitnetsDAO.java:34: cannot find symbol
symbol : method find(java.lang.String)
location: interface org.hibernate.Session
List kitnets = session.find(condicao);
1 error

Por fvr alguem pode me ajudar :oops:

Adriana

conforme pode ser observado em


http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Session.html

não existe o método find(java.lang.String). Sugiro tulizar o método createQuery(String queryString)

[]s

Leandro

Oi Leandro ,

Agradeço pela sua ajuda , mas mudei o metodo para createQuery e continua o erro so que agora está assim :

C:\LojaImoveis\src\java\cadastro\KitnetsDAO.java:38: incompatible types
found : org.hibernate.Query
required: java.util.List
List kitnets = session.createQuery(condicao)

OBS:: Já havia feito o import java.util.List … o que pode ser isto ?

Aguardo ajuda !

Tente assim:

List kitnets = session.createQuery(condicao).list();

[]s

Leandro

Olá Leandro,

Muito obrigada consegui aqui…resolvido!

Agora está dando um outro erro :

log4j:WARN No appenders could be found for logger (org.apache.jasper.JspC).
log4j:WARN Please initialize the log4j system properly.

O arquivo do log4j está no diretorio das classes do minha aplicacao :

Vc sabe o que é isto ?

Adriana

Você precisa criar e configurar o arquivo log4j.properties.

[]s

Leandro

Entao Leandro eu criei seguindo um tutorial do hibernate que eu peguei na internet : e adicionei ele no meu pacote das classes , será que falta coloca-lo em outro diretorio ?

log4j.rootLogger=DEBUG, dest1

log4j.appender.dest1=org.apache.log4j.ConsoleAppender
log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern=%d %-5p %-5c{3} %x -> %m%n

#log4j.appender.dest2=org.apache.log4j.RollingFileAppender
#log4j.appender.dest2.File=bridge.log

#log4j.appender.dest2.MaxFileSize=100KB

Keep one backup file

#log4j.appender.dest2.MaxBackupIndex=3

#log4j.appender.dest2.layout=org.apache.log4j.PatternLayout
#log4j.appender.dest2.layout.ConversionPattern=%d [%t] %-5p %-5c{3}(%L) %x -> %m%n

Adriana

Oi Leandro,

Obrigada consegui resolver esqueci de adicionar a linha no log4j que está no WEB-INF da minha aplicacao :

 log4j.rootLogger=DEBUG, dest1

 Acho que era isto que faltava , porque aqui funcionou perfeito ! abraços 

  Adriana

Adriana,

O meu arquivo está assim:

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file hibernate.log ###
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=warn, stdout

#log4j.logger.org.hibernate=info
#log4j.logger.org.hibernate=debug

### log HQL query parser activity
#log4j.logger.org.hibernate.hql.ast.AST=debug

### log just the SQL
#log4j.logger.org.hibernate.SQL=debug

### log JDBC bind parameters ###
#log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug

### log schema export/update ###
#log4j.logger.org.hibernate.tool.hbm2ddl=debug

### log HQL parse trees
#log4j.logger.org.hibernate.hql=debug

### log cache activity ###
#log4j.logger.org.hibernate.cache=debug

### log transaction activity
#log4j.logger.org.hibernate.transaction=debug

### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug

### enable the following line if you want to track down connection ###
### leakages when using DriverManagerConnectionProvider ###
log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace

Ele precisa estar no diretório WEB-INF/classes. Até onde eu sei, isto é o suficiente.

[]s

Leandro