plentz 15 de set. de 2006
Você colocou o relacionamento no seu mapeamento?
slipkorn 16 de set. de 2006
Olha o arquivo hibernate.cfg…
<!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.dialect" >
org.hibernate.dialect.MySQLDialect
</property>
<property
name= "hibernate.connection.driver_class" >
com.mysql.jdbc.Driver
</property>
<property
name= "hibernate.connection.url" >
jdbc:mysql://localhost/bancoestagio?autoReconnect=true
</property>
<property
name= "hibernate.connection.username" >
root
</property>
<property
name= "hibernate.connection.password" >
root
</property>
<!-- Condiguração do c3p0 -->
<property name= "hibernate.c3p0.max_size" > 10</property>
<property name= "hibernate.c3p0.min_size" > 2</property>
<property name= "hibernate.c3p0.timeout" > 5000</property>
<property name= "hibernate.c3p0.max_statements" > 10</property>
<property name= "hibernate.c3p0.idle_test_period" > 3000</property>
<property name= "hibernate.c3p0.acquire_increment" > 2</property>
<!-- Configurações de debug -->
<property name= "show_sql" > true</property>
<property name= "use_outer_join" > true</property>
<property name= "hibernate.generate_statistics" > true</property>
<property name= "hibernate.use_sql_comments" > true</property>
<property name= "hibernate.cache.provider_class" > org.hibernate.cache.EhCacheProvider</property>
<mapping class= "br.com.sisestagioII.modelo.Estado" />
<mapping class= "br.com.sisestagioII.modelo.Cidade" />
<mapping class= "br.com.sisestagioII.modelo.Pessoa" />
<mapping class= "br.com.sisestagioII.modelo.Cliente" />
<mapping class= "br.com.sisestagioII.modelo.Funcionario" />
<mapping class= "br.com.sisestagioII.modelo.Fornecedor" />
</session-factory>
</hibernate-configuration>
Classe Estado
package br.com.sisestagioII.modelo ;
import javax.persistence.Column ;
import javax.persistence.Entity ;
import javax.persistence.GeneratedValue ;
import javax.persistence.Id ;
@Entity ()
public class Estado {
@Id () @GeneratedValue ()
private int idEstado ;
private String nome ;
@Column ( length = 2 )
private String sigla ;
public Estado () {
}
public long getIdEstado () {
return idEstado ;
}
public void setIdEstado ( int idEstado ) {
this . idEstado = idEstado ;
}
public String getNome () {
return nome ;
}
public void setNome ( String nome ) {
this . nome = nome ;
}
public String getSigla () {
return sigla ;
}
public void setSigla ( String sigla ) {
if ( sigla . length () == 2 ){
this . sigla = sigla ;
}
}
}
Classe Cidade
package br.com.sisestagioII.modelo ;
import javax.persistence.Entity ;
import javax.persistence.GeneratedValue ;
import javax.persistence.Id ;
import javax.persistence.ManyToOne ;
@Entity ()
public class Cidade {
@Id () @GeneratedValue ()
private int idCidade ;
private String nome ;
@ManyToOne ()
private Estado estado ;
public Cidade () {
}
public long getIdCidade () {
return idCidade ;
}
public void setIdCidade ( int idCidade ) {
this . idCidade = idCidade ;
}
public String getNome () {
return nome ;
}
public void setNome ( String nome ) {
this . nome = nome ;
}
public Estado getEstado () {
return estado ;
}
public void setEstado ( Estado estado ) {
this . estado = estado ;
}
}
Obrigado pela ajuda
Diego
plentz 16 de set. de 2006
slipkorn 16 de set. de 2006
Já andei olhando ai e nada… ta complicado…
Mesmo assim obrigado pela dica.
É to vendo que vou ter que acabar usando o hql…
Diego Alves Brandão
junior.esnaola 16 de set. de 2006
Cara usa o seguinte
crit.createAlias(“c.estado”,“e”);
daí é só usar e.qualquerAtributoDeEstado
è isso qu tu queria?
[]s
junior.esnaola 16 de set. de 2006
Só não esquece que vc tem que ter mapeado teu relacionamento no hbm e não só no pojo.
[]s
urubatan 16 de set. de 2006
ele ta usando anotações, não tem hbm
junior.esnaola 16 de set. de 2006
Pouts, passei batido :s, é o costume de usar uma coisa e supor que todo mundo usa a mesma coisa :s
[]s
Paulo_Silveira 16 de set. de 2006
algo assim:
Criteria cri = session.createCriteria(Cidade.class);
cri = cri.createCriteria("estado"); (se sua Class cidade tem um Estado estado)
cri.add(Restriction.eq("nome", "xpto");
cri.list();
slipkorn 17 de set. de 2006
Funcionou…
Deu certo com o exemplo do Paulo…
Obrigado a todos pela ajuda…
Valew
Diego