I'm sorry if my question is duplicated, I searched a lot and didn't find my answer.
I'm using VO on a project Spring-MVC, then its very difficult to me to find what I need.
It's okay to use a VO object that contains the representation of all fields of view (jsp), and the state of page (editing, including, excluding etc) ?
I need to store changed addresses, included, excluded, because on the page the addresses are editable.
This VO is holding for example, all addresses, emails, contacts of customer, these information aren't in the view, but is information used in the Controller.
On the page there are pop-ups to edit/add/delete addresses, emails, phones.
The page contains a grid with others informations, and I store in the VO.
In short, I use a VO to store the state of the page and informations needed to work with the view. I use this to not need to go to Hibernate a lot of times during the page life cycle.
This is a good pattern?
I'm ignoring Hibernate cache?
A VO with class scope at the Controller breaks good patterns of OOP?
If I don't pass the VO by parameter in the methods, and use the "this" reference breaks the encapsulation?
This page is very complex, and the Controller has around 30 methods and 1000 lines.