Correct me if this is an exact duplicate, I know this topic is discussed often but can't find a definitive answer.
The question:
What is the best practical solution to handling Hibernate objects in a MVC webapp?
The details:
I am using Hibernate and want to leverage lazy loading where possible.
I am working in a MVC style webapp.
I hate getting lazy load initialization exceptions.
I hate having to reattach Hibernate objects between transactions.
The options:
hibernateObject.getRelatedObjects()
but need to say something like springService.getRelatedObjects(hibernateObject)
Am I missing something?
Have I over-thought things?
Have I under-thought things?
PS:
For a web framework I'm using ZK but don't really want a ZK specific answer.
I'm also using Spring and am cool with a Spring specific answer as it's so ubiquitous.
Use 4-ish - Don't use open session in view, don't have your hibernate entities bubble all the way up to the view instead have transformers translate between the hibernate entities and your domain objects or 'view beans' depending on how you want to work it.
I think of Hibernate entities as just a persistence strategy not a domain model or UI representation.