java - 为什么 hibernate 不强制您将字段标记为虚拟字段,但 nhibernate 强制您将字段标记为虚拟字段?

标签 java nhibernate hibernate

为什么 hibernate 不强制您将字段标记为虚拟字段,但 nhibernate 强制您将字段标记为虚拟字段?

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

最佳答案

这不是运行时之间的区别——这是语言之间的区别。

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

请注意,如您的问题所述,这两个平台都不允许字段是虚拟的。

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

(请注意,在 Java 中,术语“虚方法”实际上并没有在语言规范中定义;在这里我用它来表示“非最终”:一种可以被覆盖的方法。)

关于java - 为什么 hibernate 不强制您将字段标记为虚拟字段,但 nhibernate 强制您将字段标记为虚拟字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2014399/

相关文章:

java - "References to generic type JsonResponse should be parameterized"

java - 使用正则表达式将字符串拆分为两个字符串

.net - 与 Iesi.Collections 相关的 System.IO.FilenotFoundException

java - Hibernate:多重选择@OneToMany

java - 如何创建具有父/子关系的@Entity

javascript - 我认为 BroadcastReceiver 会自行重置,我需要它在不重置的情况下运行

java - 计算函数的总和

nhibernate - 如何在 nhibernate 中保存分配了 id 的 child

c# - 生成 SelectListItem 列表的 IQueryable 扩展方法

java - Hibernate获取同一个对象到不同的对象