Hibernate (Iniciante)

9 respostas
S

Galera estou começando hoje um projeto com hibernate, estou tendo o seguinte prob.

Acho que é no meu hibernate.cfg

vou começar com uma duvida, seguinte vou posta o connection.url

<property name="connection.url">jdbc:microsoft:sqlserver://10.1.1.2:porta/Banco_de_Dados</property>

quando eu mapeio ele usando o nome do bando ele da o seguinte erro:

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
org.hibernate.exception.GenericJDBCException: Cannot open connection
	at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:82)
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:70)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
	at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:301)
	at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:110)
	at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:137)
	at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:49)
	at org.hibernate.transaction.JDBCTransactionFactory.beginTransaction(JDBCTransactionFactory.java:24)
	at org.hibernate.jdbc.JDBCContext.beginTransaction(JDBCContext.java:271)
	at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1079)
	at com.bios.site.condominio.entidade.ConTeste.main(ConTeste.java:28)
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unable to connect.  Invalid URL.
	at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
	at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
	at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
	at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:298)
	... 7 more

quando uso sem o nome do banco…

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.ClassCastException: org.hibernate.transaction.JDBCTransaction
	at com.bios.site.condominio.entidade.ConTeste.main(ConTeste.java:28)

ele da esse erro de cast, please ajuda…

9 Respostas

S

é resovi o prob do mapeamento com Nome Da Base,

agora o prob ta nesse cast…

Exception in thread “main” java.lang.ClassCastException: org.hibernate.transaction.JDBCTransaction
at com.bios.site.condominio.entidade.ConTeste.main(ConTeste.java:29)

fsquadro

Daniel,

De uma boa olhada no tutorial do Hibernate. Ele irá lhe ajudar em muitas das suas dúvidas.

http://www.hibernate.org/hib_docs/annotations/reference/en/pdf/hibernate_annotations.pdf

S

bom tutorial,

porem quando faço uma busca que esta me retornando um List
essa busca soh me retorna valores da primeira linha da minha tabela, ou seja se tem 140 registros na minha tabela ele me retorna 140 registros “da primeira linha”…q ta acontecendo ???

help-me ???

marcelo_mococa

como assim???
não entendi nada…

S

tipow eu tenho a seguinte tabela: Pessoa

query: select * from pessoa


Nome Email

joao [email removido]

daniel [email removido]

maria [email removido]

… …
… …
… …


Ok, porem quando tendo executar um comendo do hibernate pra executa essa consulta ele me retorna so a primeira linha

cada posição do meu List = joao, [email removido]

em minha consulta tem 6 linhas, nas 6 linhas ele poe esse result ai de cima…

saco??

S

cod:

[code]
public class PSaldo {

public static void main(String[] args) {

Session session = null;

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

session = sessionFactory.openSession();
Transaction ts = session.beginTransaction();

Query select = session.createQuery("from ContasPcCondominio where icodplano='1'");
List list = select.list();

for(ContasPcCondominio bean : list){

System.out.println(""+bean.getSdescricao());

}
ts.commit();
session.close();
}
}
[code]

marcelo_mococa

tente fazer assim:

[...]
Query select = session.createQuery("from ContasPcCondominio where icodplano='1'");
List<ContasPcCondominio> list = select.list();

Set<ContasPcCondominio> set = new HashSet<ContasPcCondominio>();
set.addAll(list);

List<ContasPcCondominio> novaLista = new ArrayList<ContasPcCondominio>();
novaLista.addAll(set);

[....]
S

tinha tentado isso jah, mais d qq forma vlew pela ajuda…

achei muito estranho, vo da uma pesquisada aqui,

S

resolvido galera,

minha table era chave composta, então da forma que eu estava mapeando não estava garantindo a unicidade do dado…criei uma entidadeID separa para mapear essas chaves que são composta, e sobrescrevi o metodo equals() e hshCode() nessa entidade pra garantir que não vai me retornar valores repetidos, dai é soh vc fazer o relacionamento no HBM de sua entidade … Se alguem tiver algum prob parecido ta i a solução…
abraçooo

aiii marcelo_mococa, vlew pela atenção cara…

Criado 31 de maio de 2007
Ultima resposta 1 de jun. de 2007
Respostas 9
Participantes 3