Hello all,

I've come accross a problem with the CayenneDataObjects. For some reason
Cayenne created two different instances of the same database object. This
made that the function equals and hashCode returned different values for the
same data object (conceptually). I checked the CayenneDataObject and the
hashCode function is not overriden anywhere, leading to this problem. As I
already have extended the CayenneDataObject I only had to override the
following functions:

@Override
public boolean equals(Object obj) {
if (obj instanceof HolosDataObject)
return getObjectId().equals(((HolosDataObject) obj).getObjectId());
return false;
}

@Override
public int hashCode() {
return getObjectId().hashCode();
}

Which fixed the problem. I am using cayenne 3.0.1. Shouldn't these
functions, or some sort of version of them, be present in
CayenneDataObject/PersistentDataObject?

Regards
Bruno Santos

-- 
Bruno René Santos | brunor...@holos.pt | Gestor de Projectos | Analista |
Programador | Investigador

Holos - Soluções Avançadas em Tecnologias de Informação S.A.
Parque de Ciência e Tecnologia de Almada/Setúbal . Edifício Madan Parque
Rua dos Inventores . Quinta da Torre . 2825 - 182 Caparica . Portugal
Phone: +351 210 438 686 . Fax: +351 210 438 687 . Web: www.holos.pt

This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed.
If you are not the intended recipient or the person responsible for
delivering the email to the intended recipient, be advised that you have
received this email in error and that any use, dissemination, forwarding,
printing, or copying of this email is strictly prohibited. If you have
received this email in error please notify Bruno René Santos by telephone on
+351 210 438 686

Reply via email to