Buenas, estoy trabajando con un modelo en java que va a persistir con
hibernate y me surgio una duda:

1. ¿Porque usar un id numerico (ej: Long id) envez de usar los campos
que realmente identifican a la entidad?

   Yo me imagino que sera por el tema de el tamaño que tomaría la base
de datos.

   Pero el tema es que eso, y usar el hashCode y equals con el id no
me permiten validar naturalmente
   algunas reglas del negocio como por ejemplo si yo no quiero que
haya dos o mas entidades del mismo
   nombre (porque ese era su identificador natural) ya no me sirve el
equals, ni el contains de
   collection ni nada.

   Entonces me surgen tres opciones de las cuales no se cual es mas
conveniente, talvez inclusive alguna no sea valida:

   1. No uso id numerico sino que uso los identificadores naturales
(ej: nombre, dni) y uso tambien estos
      para el hash code y equals.

   2. Uso los id numericos pero en hash code y equal uso los
identificadores naturales.

   3. Uso los id numericos, tambien en el hash code y equals, pero
agrego un metodo mas a las clases entidad que
      compare por los identificadores naturales (algo asi como
"obj.igualSegunNegocio(otroObj)") y uso ese metodo
      para comparar en el modelo.

Bueno agradezco cualquier sugerencia, saludos.

_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a