【发布时间】:2011-04-22 22:22:31
【问题描述】:
是否可以配置 Hiberate/NHibernate 在从数据库读取时不使用默认构造函数创建对象?
当 Hibernate 从一个表中读取 10 个客户时,它会创建 10 个Customer 对象。它通过
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.
这可能吗?如果是:如何?如果没有:是否有替代方案?
【问题讨论】:
标签: nhibernate hibernate orm