title: Looking for design patterns to isolate framework layers from each other
body: <p>I'm wondering if anyone has any experience in "isolating" framework objects from each other (Spring, Hibernate, Struts).  I'm beginning to see design "problems" where an object from one framework gets used in another object from a different framework.  My fear is we're creating tightly coupled objects.</p>
  
  <p>For instance, I have an application where we have a DynaActionForm with several attributes...one of which is a POJO generated by the Hibernate Tools.  This POJO gets used everywhere...the JSP populates data to it, the Struts Action sends it down to a Service Layer, the DAO will persist it...ack!  </p>
  
  <p>Now, imagine that someone decides to do a little refactoring on that POJO...so that means the JSP, Action, Service, DAO all needs to be updated...which is kind of painful...There has got to be a better way?!</p>
  
  <p>There's a book called Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition)...is this worth a look?  I don't believe it touches on any specific frameworks, but it looks like it might give some insight on how to properly layer the application...</p>
  
  <p>Thanks!</p>