Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Hibernate4中定义实体_Hibernate - Fatal编程技术网

在Hibernate4中定义实体

在Hibernate4中定义实体,hibernate,Hibernate,我刚刚从Hibernate4开始,我注意到它们是定义实体的两种方法。通过定义一个xml文件hbm并将其映射到一个bean,或者只定义一个bean并使用注释来映射DB-like(@Entity,@column..etc)中的表 我的问题是这两种方法有什么区别? 如果问题很简单,很抱歉,但我无法在网上找到我的答案 感谢您的帮助使用注释将您的模型(实体)与Hibernate框架绑定得相当紧密(您引入了它们之间的耦合)。另一方面,您的源代码变得更具可读性,因为您不必在XMLs和Java源文件之间切换 最

我刚刚从Hibernate4开始,我注意到它们是定义实体的两种方法。通过定义一个xml文件hbm并将其映射到一个bean,或者只定义一个bean并使用注释来映射DB-like(@Entity,@column..etc)中的表

我的问题是这两种方法有什么区别? 如果问题很简单,很抱歉,但我无法在网上找到我的答案


感谢您的帮助

使用注释将您的模型(实体)与Hibernate框架绑定得相当紧密(您引入了它们之间的耦合)。另一方面,您的源代码变得更具可读性,因为您不必在XMLs和Java源文件之间切换


最初Hibernate只支持XML映射,后来添加了注释(在Java5中引入之后)。大多数Java开发人员都非常喜欢注释,因为它们确实让我们清楚地看到一个类代表一个Hibernate实体,它有什么约束,以及它与应用程序中其他实体的关系。另一方面,使用XML定义将您的源代码与Hibernate分离,您可以轻松地切换到另一个库,而无需修改Java源代码。不过,使用和它的可移植注释会做得更好。它提供了使用统一ORMAPI的能力,该API可以委托给任何ORM框架(Hibernate、ibatis、EclipseLink等)。在框架之间切换很容易,因为可以在线更改JPA的配置,并将新的ORM添加到项目类路径中。实际上,很少有公司直接使用Hibernate(除非他们需要它的一些独特特性)——它通常与JPA结合使用。很少有人使用XML实体定义——我已经有一段时间没有使用它们了

使用注释,您将模型(实体)与Hibernate框架绑定得相当紧密(您引入了它们之间的耦合)。另一方面,您的源代码变得更具可读性,因为您不必在XMLs和Java源文件之间切换


最初Hibernate只支持XML映射,后来添加了注释(在Java5中引入之后)。大多数Java开发人员都非常喜欢注释,因为它们确实让我们清楚地看到一个类代表一个Hibernate实体,它有什么约束,以及它与应用程序中其他实体的关系。另一方面,使用XML定义将您的源代码与Hibernate分离,您可以轻松地切换到另一个库,而无需修改Java源代码。不过,使用和它的可移植注释会做得更好。它提供了使用统一ORMAPI的能力,该API可以委托给任何ORM框架(Hibernate、ibatis、EclipseLink等)。在框架之间切换很容易,因为可以在线更改JPA的配置,并将新的ORM添加到项目类路径中。实际上,很少有公司直接使用Hibernate(除非他们需要它的一些独特特性)——它通常与JPA结合使用。很少有人使用XML实体定义——我已经有一段时间没有使用它们了

最大的区别是如何进入休眠状态。有些人可能更喜欢XML配置而不是注释,反之亦然

使用XML配置可以更好地控制Hibernate,并让您将配置文件保存在一个地方

另一方面,JPA注释允许更直观的持久性配置,同时保持业务逻辑不受供应商锁定


您可能也需要检查。

最大的区别在于如何使用Hibernate。有些人可能更喜欢XML配置而不是注释,反之亦然

使用XML配置可以更好地控制Hibernate,并让您将配置文件保存在一个地方

另一方面,JPA注释允许更直观的持久性配置,同时保持业务逻辑不受供应商锁定

你也可以去看看