В моей базе данных MYSQL есть таблица, которая не имеет первичного ключа, но имеет уникальный ключ в двух столбцах. При использовании инструмента обратного инжиниринга Hibernate MyEclipse для создания сопоставления для этой таблицы он генерирует два класса: один для именования по имени самой таблицы и один с суффиксом «Id». Кажется, что большинство полезных методов оказались в классе Id, так что, похоже, это тот, который вы бы создали и сохранили для сохранения данных. Я могу оценить тот факт, что класс Id создан для того, чтобы представлять уникальную строку в табличном / отображаемом объекте, но какая польза от разбиения этого на два класса, и каково использование не-Id? класс с суффиксом?
Мой коллега утверждает, что вы можете сделать то же самое с помощью всего одного класса, и смеется над использованием обратного инжиниринга для этих таблиц, которые не имеют первичного ключа. Я, с другой стороны, предполагаю, что разработчики MyEclipse намного умнее меня, и что есть действительно веская причина сделать это таким образом. Есть ли?