为什么hibernate不强迫你将字段标记为虚拟,但是nhibernate呢?

mrb*_*lah 1 java nhibernate hibernate

为什么hibernate不强迫你将字段标记为虚拟,但是nhibernate呢?

这是VM和CLR之间差异的结果吗?

Jon*_*eet 6

这不是运行时间的区别- 它是语言之间的差异.

在C#中,默认情况下方法不是虚拟的.在Java中,它们是.

请注意,两个平台都不允许字段为虚拟字段,如您的问题中所述.

Hibernate和NHibernate都需要虚拟方法 - 这意味着它们在C#中显式虚拟化.

(请注意,在Java中,术语"虚方法"实际上并未在语言规范中定义;这里我使用它来表示"非最终":可以覆盖的方法.)