我想在客户端和服务器应用之间共享一些域对象。
从Hibernate 4开始,Hibernate注释被集成在hibernate-core中(以前是一个单独的jar),请参阅http://in.relation.to/Bloggers/NoMoreHibernateannotationsModule
我真的更喜欢坚持使用注释(而不是切换到基于xml的映射)。
同时我真的喜欢避免将hibernate核心依赖项与客户端捆绑在一起(通过java web start,将其传递给用户,理想情况是每次启动时)。< / p>
我是否必须回到Hibernate 3.x?运行客户端需要这些注释依赖项吗?我只需要它们来编译客户端吗?
由于
答案 0 :(得分:1)
您无需在类路径中使用类的注释即可加载类。
也就是说,Hibernate实体包含对其他实体的集合和引用。集合是Hibernate集合的实例,如果它们是懒惰的,则引用可以是Hibernate代理。因此,如果您将Hibernate实体从服务器序列化到客户端,则客户端将需要其类路径中的Hibernate jar才能加载它们。
如果你想在客户端避免Hibernate依赖,你应该考虑将DTO转移到客户端而不是Hibernate实体。