/ / Hibernar todas as colunas na chave composta - não retorna nenhum objeto POJO - hibernar

Hibernar todas as colunas na chave composta - não retorna nenhum objeto POJO - hibernar

Esta é a minha estrutura de arquivo hbm.xml.

<hibernate-mapping>
<class name="customer" table="Customer" schema="Schem">
<composite-id name="id" class="Customerid">
<key-property name="code" type="java.lang.String">
<column name="CODE" length="10" />
</key-property>
<key-property name="name" type="java.lang.String">
<column name="NAME" length="10" />
</key-property>
<key-property name="address" type="java.lang.String">
<column name="ADDRESS" length="100" />
</key-property>
<key-property name="contactnumber" type="java.lang.String">
<column name="CONTACTNUMBER" length="15" />
</key-property>
</composite-id>
</class>
</hibernate-mapping>

mas no banco de dados, se houver uma coluna de uma linhaestá vazia. o hibernate não retorna nenhum Objeto do Cliente e retorna nulo. O que eu acho é que todas as colunas estão no ID composto e é por isso que ele está retornando um objeto nulo se alguma coluna estiver vazia nessa linha. Como obter o objeto POJO de hibernação Customer quando eu tenho apenas o valor do código disponível?

Respostas:

0 para resposta № 1

uma identificação / chave primária deve não ser nulo e ser único. inclua apenas as colunas que formam a chave primária no mapeamento compositeId. Para obter uma instância por ID, use

Customer customer = session.get(Customer.class, new Customer(<id properties));