I have a DAO layer that attempts to hide the implementation details
from its caller (per dao definition). This is managed by Spring and
objects are pulled out in my tap pages using the tapestry-spring lib.
This works well at face value. The issue is the infamous lazy-loading
of detached objects problem. Any reference to lazy-loaded objects is
throwing an exception. This is expected since the session is closed. I
know the solution is to reattach it either using hibernate's api or
tapernate. The problem with this approach is that it leaks the DAOs
implementation details into the Web layer. I do not desire this to
happen.

I've seen some  posts suggesting that Tapernate can provide some
relief and if I'm willing to hack through the code (since there's no
or hardly any docs) I might be able to get it working with Spring.
This violates my guiding principal in this project, and that is
creating decoupled components. Tapernate, by it's very name, forces
concerns to bleed into the Tap layer. I'm hoping that there is some
other way.

This problem has come up before, but not in quite the same fashion as
this. Despite the slant against Spring that many have in this
community, I'm using it to wire my application together. I feel that
Spring offers me the right amount of features, ease of use, incredible
documentation, and de facto industry support. My problem seems to span
all three frameworks, but I thought I'd probe this group first.

Thanks in advance,
T

Tirade:
Please do not ask "why not just use Hivemind for dependency
injection". The fact that this has been brought up before is juvenile
and indicates that the poster doesn't care about the plethora of other
frameworks that exist because his is "the best". Let's all understand
that our community produces software that is generally utilized on a
best of breed basis and some of us differ on what the best is. In
order to be good OSS citizens, we should work with other frameworks,
not deny our users the ability to work with them because we deem them
bad for whatever snobbish reason.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to