我正在使用我正在尝试添加 NHibernate 的遗留系统。我有一个需要映射到表的类,但它有很多不是虚拟的现有方法。
我发现如果我将映射文件的类元素上的“lazy”属性设置为“false”,即使存在非虚拟方法,我也可以让 NHibernate 成功加载映射。我想知道这会对我在此类中使用 NHibernate 产生什么影响。
我了解对属于对象的集合进行非延迟加载的含义,但我不清楚对类进行延迟加载或急切加载的含义。这是否意味着属于该对象的所有集合都将被预先加载?或者这是否意味着 NHibernate 不再使用动态代理来代替实际的类?还有什么?
另外,这里最好的做法是什么?设置该 lazy=false 值是不可取的吗?我应该创建一个类实现的接口,然后将其映射到表吗?还是我应该硬着头皮把所有现有的方法都标记在虚拟类上?
提前感谢您的任何建议!