客户端中的域对象中的注释完全依赖于hibernate

时间:2012-11-23 14:28:14

标签: java hibernate client-server hibernate-annotations

我想在客户端和服务器应用之间共享一些域对象。

从Hibernate 4开始,Hibernate注释被集成在hibernate-core中(以前是一个单独的jar),请参阅http://in.relation.to/Bloggers/NoMoreHibernateannotationsModule

真的更喜欢坚持使用注释(而不是切换到基于xml的映射)。

同时我真的喜欢避免将hibernate核心依赖项与客户端捆绑在一起(通过java web start,将其传递给用户,理想情况是每次启动时)。< / p>

我是否必须回到Hibernate 3.x?运行客户端需要这些注释依赖项吗?我只需要它们来编译客户端吗?

由于

1 个答案:

答案 0 :(得分:1)

您无需在类路径中使用类的注释即可加载类。

也就是说,Hibernate实体包含对其他实体的集合和引用。集合是Hibernate集合的实例,如果它们是懒惰的,则引用可以是Hibernate代理。因此,如果您将Hibernate实体从服务器序列化到客户端,则客户端将需要其类路径中的Hibernate jar才能加载它们。

如果你想在客户端避免Hibernate依赖,你应该考虑将DTO转移到客户端而不是Hibernate实体。