【问题标题】:Is there something similar to Nhibernate "Mapping by code" for HibernateHibernate 是否有类似于 Nhibernate“代码映射”的东西
【发布时间】:2012-04-01 23:04:49
【问题描述】:

在 Nhibernate 中,我们拥有 Fluent Nhibernate,现在,在 Nhibernate 3.2 中内置了“按代码映射”功能。两者都允许您以编程方式为您的域构建映射,我们可以编写一些约定来映射所有域,或者我们可以为每个相应的域对象编写单独的类。

Hibernate 有什么类似的吗?

【问题讨论】:

    标签: java c# hibernate hibernate-annotations


    【解决方案1】:

    您应该能够通过使用 Hibernate 配置 API 来配置没有 XML 和注释的 Hibernate,请参阅 http://docs.jboss.org/hibernate/orm/4.1/javadocs/org/hibernate/cfg/Configuration.html

    可以通过 Mappings API 创建表映射: http://docs.jboss.org/hibernate/orm/4.1/javadocs/org/hibernate/cfg/Mappings.html

    我从未使用过后者,因为我发现注释是最好的方法 - 但也许指针会有所帮助。

    【讨论】:

      【解决方案2】:

      是的,通过注解映射,check this link

      【讨论】:

      • 如果错了请纠正我,通过注释的配置方法没有约定对吗?这意味着,我仍然需要以一种或另一种方式在我的所有课程中添加注释。
      • 这与代码映射有何相似之处?相当于 NHibernate.Mapping.Attributes
      • @newbie 你错了。 Hibernate 对配置有非常强的约定。您需要一些注释,但我很乐意认为带有一些注释的实体类看起来比我在代码中看到的示例“更好”。主要是因为你的映射代码正好在我需要的地方。但我不希望每个人都同意。
      • 注解的问题是你的领域类现在需要具有持久性意识。这不是大罪,但它是关注点的糟糕分离。此外,它没有回答问题。
      • @joão-mendes 如果你有一个很好的关注点分离,你将拥有实体类和几个域类,如果你使用实体表作为业务模型,你没有很好的分离担忧。添加一个简单的目录时,它只需要一个名称,还需要编辑 id 和状态字段,因此,实体不适合两种表示形式,最好是拥有你的 repo 层,在它们之上是你的业务对象跨度>
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多