Caros, estou passando um problema no relacionamento one-to-one. Minha consulta deveria fazer um lazy no relacionamento, entretanto o proxy não está sendo resolvido e são disparadas as consultas a cada item do relacionamento.
Exemplo tenho uma tabela NOME e uma SOBRENOME. Se eu tiver 5 registros na SOBRENOME e estiver com o one-to-one mapeado e com lazy=proxy, ele não funciona e itera cada um dos registros.
Alguém já passou por isso ?
Exemplo:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="testes.testeTO"
table="TESTE"
dynamic-update="true"
dynamic-insert="true"
proxy="testes.testeTO">
<id name="id" type="java.lang.Long" column="ID_TESTE">
<generator
class="native" />
</id>
<property
name="name"
column="NM_NAME"
type="java.lang.String"
update="true"
insert="true"
/>
<one-to-one name="sup" class="testes.suplementoTO" lazy="proxy" constrained="true" cascade="save-update"/>
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="testes.suplementoTO"
table="TESTESUP"
dynamic-update="true"
dynamic-insert="true"
proxy="testes.suplementoTO">
<id name="id" type="java.lang.Long" column="ID_SUP">
<generator class="foreign">
<param name="property">teste</param>
</generator>
</id>
<one-to-one name="teste" class="testes.testeTO" lazy="proxy" constrained="true"/>
<property
name="name"
column="NM_SUP"
type="java.lang.String"
update="true"
insert="true"
/>
</class>
</hibernate-mapping>
public class Teste {
/**
* @param args
*/
public static void main(String[] args) {
Session session = HibernateUtil.getSession();
String query = "from testeTO";
Collection teste = session.createQuery(query).list();
System.out.println("Teste :" + teste.size());
System.out.println("testado");
}
}