title: Java code design bidirectional association
body: <p>This is a question about application code design. Here is my situation:<br>
  I have a db table named <em>Report</em> which represents the amount of time of work of a user during a given month. I have a DAO to deal with database and a @Service which encapsulates dao's methods and do more stuff with reports.</p>
  
  <p>In addition, I have a table <em>Target</em>, to assign goals to the users about their activities (goals can be monthly or yearly). I have again a DAO and a @Service to use these entities.</p>
  
  <p>My question is about design, because i have a bidirectional association between the two services, especially for the following processes:</p>
  
  <ul>
  <li>The Report service needs to update the target service when a report is added, modified or deleted..</li>
  <li>The target service needs the report service when we need to calculate the progression of a Target</li>
  </ul>
  
  <p>I'm refactoring my application and seeing the two beans beans who need each other makes me feel this is not so good...<br>
  Is there a way to design properly this situation (I mean the association between my two services) or should I stay with the bidirectional association?</p>