/ / Hibernuj wszystkie kolumny w kluczu złożonym - nie zwraca obiektu POJO - hibernuje

Hibernuj wszystkie kolumny w kluczu złożonym - nie zwraca żadnego obiektu POJO - hibernacja

To jest moja struktura plików 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>

ale w bazie danych, jeśli jakaś kolumna wierszajest pusty. hibernacja nie zwraca żadnego obiektu klienta i zwraca wartość null. Zgaduję, ponieważ wszystkie kolumny mają złożony identyfikator, dlatego zwraca obiekt zerowy, jeśli jakaś kolumna jest pusta w tym wierszu. Jak uzyskać hibernowany obiekt POJO Customer, gdy mam dostępną tylko wartość kodu?

Odpowiedzi:

0 dla odpowiedzi № 1

identyfikator / klucz podstawowy musi nie być zerowy i być wyjątkowy. uwzględnij tylko kolumny, które tworzą klucz podstawowy w mapowaniu compositeId. Aby uzyskać jedną instancję, użyj identyfikatora

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