0

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

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

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

同时,我真的很想避免将休眠核心依赖项与客户端捆绑在一起(这将通过 java web start 通过 http 传输给用户,理想情况下是在每次启动时)。

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

谢谢

4

1 回答 1

1

您不需要在类路径中具有类的注释即可加载类。

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

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

于 2012-11-23T16:27:53.150 回答