Olá pessoas. Comecei a brincar com hibernate e estou confuso na hora da utilizar relações entre objetos.
Vou colocar aqui o exemplo que tô fazendo.
Classe estado:
public class Estado implements Serializable
{
private Integer codigo;
private String nome;
private String sigla;
//etc
}
Classe Cidade:
public class Cidade
{
private Integer codigo;
private String nome;
private Estado estado;
//etc
}
Mapeamento Estado:
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="entidades">
<class name="Estado" table="estado">
<id name="codigo" column="codigo">
<generator class="increment"/>
</id>
<property name="nome"/>
<property name="sigla"/>
</class>
</hibernate-mapping>
Mapeamento Cidade:
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="entidades">
<class name="Cidade" table="cidade">
<id name="codigo" column="codigo">
<generator class="increment"/>
</id>
<property name="nome"/>
<many-to-one name="estado" class="Estado" column="estado"/>
</class>
</hibernate-mapping>
Bem simples…minha dúvida é na hora de fazer a HQL pra pesquisar cidades por estado. Não sei ao certo como referenciar o codigo do estado na clausula ‘where’ da consulta, o que em SQL ficaria SELECT * FROM cidade WHERE estado = ?
Sei que não deve ser algo difícil de achar na internet mas resolvi perguntar aqui pra obter uma resposta mais rápida.
Desde já obrigado.