Tengo una tabla en mi base de datos MYSQL que no tiene una clave principal, pero tiene una clave única en dos columnas. Al utilizar la herramienta de ingeniería inversa Hibernate de MyEclipse para crear una asignación para esa tabla, genera dos clases, una para el nombre de la tabla y otra con el sufijo "Id". Parece que la mayoría de los métodos útiles terminaron en la clase Id, por lo que parece que es la que crearías y guardarías para conservar los datos. Puedo apreciar el hecho de que la clase Id se crea para representar una fila única en el objeto tabla/mapeado, pero ¿de qué sirve dividir esto en dos clases, y cuál es el uso del no ID? ¿clase mezclada?¿Por qué la ingeniería inversa de Hibernate de MyEclipse crea múltiples clases al mapear ciertas tablas?
Mi colega argumenta que puede lograr lo mismo con una sola clase y se burla de utilizar la ingeniería inversa para estas tablas que no tienen una clave principal. Yo, por otro lado, supongo que los desarrolladores de MyEclipse son mucho más inteligentes que yo y que hay una muy buena razón para hacerlo de esta manera. ¿Esta ahí?