注释 - JAR依赖项

时间:2009-08-27 14:05:35

标签: hibernate jpa annotations

虽然我喜欢使用注释,但我确实关注他们在第三方jar上创建的依赖关系。

出于这个问题的目的,我特指的是关于域模型类的Hibernate或JPA注释。

实际上,我希望我的域模型由简单的POJO组成,而不依赖于持久性框架。如果我在一个jar中部署我的域类,我不明白为什么使用该jar的应用程序必须导入以及与所使用的注释相关的任何依赖项。

注释jar可能只需要编译时依赖吗?

谢谢,

安德鲁

1 个答案:

答案 0 :(得分:1)

这实际上取决于你想要实现的目标。为了避免依赖而避免依赖并没有多大意义。在这种情况下,你还没有坚持你的实体吗?所以依赖仍然存在。

现在,如果我们讨论的是单独部署的API(以及在单独部署的其他层中发生的实际持久性),您确实有一些选择:

  1. 您可以通过接口定义您的API(这不是一件坏事,不是注释或注释 - 使层分离/测试/您有什么用),并且只注释实际的实现。将您的API部署为单独的jar,并且没有依赖关系。

  2. 如果将API定义为具体实体,则消除依赖关系的最佳选择是使用XML映射而不是注释。有关详细信息,请查看this question。说实话,我不会这样做。 JPA是JavaEE的一部分;它并不是一个值得关注的依赖。