2013-04-05 80 views

回答

14

这确实取决于你如何编码你的域名。

一般来说(在Java中)我更喜欢创建一组单独的JPA注释的DTO以使用持久性。这样的DTO将匹配数据库表,将自定义库中使用的

  • 将暴露给客户的语义API
  • 将运行查询针对此类的DTO
  • 将利用工厂初始化域对象返回客户端

该方法使域模型与数据库模式真正解耦,以便您可以独立进化。这种方法的缺点是你有更多的代码可以编写,但是我发现这样的代码编写维护起来非常简单和便宜。

在实体上使用JPA注释是一种非常常见的方法,但随着您的域模型的发展和变得越来越复杂,我自己的经验是您必须面对远比其他解决方案昂贵的问题。

+1

你有一个公共项目与执行? – heat 2015-02-17 04:05:51

+0

使用Hibernate作为JPA提供程序允许您使用XML映射域对象。这可以帮助您将域对象从JPA注释中清除干净。 – 2015-07-31 12:32:41

+0

这正是我所做的。 有道理;) – Mik378 2017-09-23 19:48:22

相关问题