2012-11-23 24 views
0

我想在我的客户端和服务器应用程序之间共享一些域对象。客户端中域对象的注解拉完成休眠依赖关系

与Hibernate 4开始,Hibernate的注释是集成在休眠芯(使用的是一个单独的jar),见http://in.relation.to/Bloggers/NoMoreHibernateannotationsModule

我会真的更愿意坚持使用注释(而不是根据切换到XML映射)。

与此同时,我会真的喜欢避免捆绑Hibernate核心依赖与客户端(这将通过HTTP通过Java web启动,最好在每次启动时转移到用户)。

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

感谢

回答

1

你并不需要有一个类的注释在类路径中能够加载的类。

这就是说,一个Hibernate实体包含集合和引用其他实体。集合是Hibernate集合的实例,并且引用可以是Hibernate代理,如果它们是延迟加载的。所以如果你将一个Hibernate实体从服务器序列化到客户端,客户端需要在其类路径中加载Hibernate jar来加载它们。

如果你想避免在客户端Hibernate的依赖,你应该考虑DTO的传输到客户端,而不是休眠的实体。

+0

嗯是的,我没有真正想过这件事。 DTO似乎是我想避免的另一件事情(因为重复)。我将首先在客户端类路径上尝试一下hibernate,以获得有关hibernate对象图序列化的更多经验。 – Zalumon