Любая причина для конструктора нескольких параметров в классе постоянства? - PullRequest
1 голос
/ 23 декабря 2011

Я работаю над унаследованным веб-приложением Java, использующим Spring и Hibernate. Это приложение содержит классы сохраняемости, которые были автоматически сгенерированы с использованием hbm2java. В эти классы были включены конструкторы с несколькими параметрами (а также ваш типичный конструктор по умолчанию). Эти конструкторы не по умолчанию не доступны напрямую любым другим методам. Также не существует явного определения весны для вызова этих классов, поэтому кажется, что это мертвый код ...

Теперь я знаю, что этот вопрос ужасно расплывчат, но есть ли какая-либо нормальная причина, по которой Hibernate обычно вызывает этих конструкторов через рефлексию? Я знаю, что он использует Class<T>.getInstance() для вызова конструктора по умолчанию для создания нового экземпляра объекта, но это все ...

Ответы [ 2 ]

2 голосов
/ 23 декабря 2011

Нет, их там нет, потому что их будет использовать спящий режим.

Этот тип конструкторов часто полезен при создании и инициализации класса сущности. Вместо того, чтобы использовать конструктор по умолчанию и вызывать несколько сеттеров, проще использовать конструктор, который принимает несколько параметров.

0 голосов
/ 23 декабря 2011

Посмотрите на свою базу данных.Обычно hibernate создает конструкторы для всех столбцов в вашей БД, а затем другой конструктор для всех обязательных полей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...