yo golpean un problema al escribir pruebas para una aplicación de base de datos utilizando JPA2 y EclipseLink:¿Debería considerarse el campo id de una entidad JPA en equals y hashCode?
añado alguna entidad a una base de datos, recuperarlo más tarde y quieren compararlo con una instancia que tiene los valores que espero que confirmar que la adición funcionó como yo pretendía.
En primer lugar me escribió algo así como
assertEquals(expResult, dbResult);
que fracasó, ya que en realidad no puedo saber el valor de id
campo, que se genera por la base de datos y, por tanto, difiere de dbResult
expResult
la que he creado con new
y poblado manualmente
veo dos opciones:
O me quito el campo de
id
equals
yhashCode
de modo que la comparación sólo se basa en los "valores reales". Sin embargo, no sé si esto causa problemas en la base de datos o en otro lugar.O escribo mis pruebas para verificar de forma explícita todos los campos excepto
id
manualmente.
¿Qué debo hacer?
podría encontrar mucha controversia? Eso es optimista. – digitaljoel