Java代码设计双向关联

时间:2016-05-26 22:41:10

标签: java spring associations bidirectional

这是一个关于应用程序代码设计的问题。这是我的情况:
我有一个名为 Report 的数据库表,它表示用户在给定月份内的工作时间。我有一个处理数据库的DAO和一个封装dao方法的@Service,并用报告做更多的事情。

此外,我还有一个表目标,为用户分配有关其活动的目标(目标可以是每月或每年)。我再次使用DAO和@Service来使用这些实体。

我的问题是关于设计,因为我在两个服务之间有双向关联,特别是对于以下过程:

  • 报告服务需要在添加,修改或删除报告时更新目标服务。
  • 当我们需要计算目标
  • 的进度时,目标服务需要报表服务

我正在重构我的应用程序并看到彼此需要的两个bean豆让我觉得这不太好......
有没有办法正确设计这种情况(我的意思是我的两个服务之间的关联)还是应该继续使用双向关联?

1 个答案:

答案 0 :(得分:0)

最后,我通过在 ReportDAO 中进行一些更改并在我的 TargetService 中调用它来解决我的问题。通过这样做,我可以删除我的两个服务之间的双向关联,并且只有单向关联。