Можно ли настроить Hiberate / NHibernate так, чтобы он не использовал конструктор по умолчанию для создания объектов при чтении из базы данных?
Когда Hibernate читает 10 клиентов из таблицы, он создает 10Customer
объектов.Он делает это с помощью
Customer c = new Customer();
Могу ли я сказать Hibernate сделать следующее:
Customer c = ACertainStaticFactory.CreateNewCustomer();
или даже управлять фабричным экземпляром:
ACertainFactory factory = .....;
Customer c = factory.CreateNewCustomer();
илиеще более сложно передать параметр, который я установил ранее:
// My client code
Query query = session.CreateQuery(...);
// either:
query.SetSomeParameter(someObject);
// or:
session.SetSomeParameter(someObject);
query.List();
// Hibernate should then behave like this:
Customer c = new Customer(someObject);
// or
Customer c = ACertainStaticFactory.CreateNewCustomer(someObject);
// etc.
Возможно ли это в любом случае?Если да, то как?Если нет: есть ли альтернатива?