No, it's not what you meant. There's a subtlety that you're missing. The view doesn't get converted to a joined table, then have a select issued on it: the view modifies the incoming select statement. So if your view is
Code:
create view view1 as select a.column2, a.column3, b.column2 as column4
from TableA a
join TableB b on a.column1 = b.column1
and you issue the request "select * from view1 where column4 like = 'A%'", then inside your DBMS what actually happens is
Code:
select a.column2, a.column3, b.column2 as column4
from TableA a
join TableB b on a.column1 = b.column1
where b.column2 like 'A%'
So there's nothing about the view that's being regenerated each time, because the view is nothing except a way to modify an incoming select statement. The only way to optimize your view is to make that join more efficient, and to make any where clauses you later run on it more efficient.
If you want to cache the results of "select * from view1" in java, then search on those results yourself, you can do that. But you can't do it on the DB side, so there's nothing you can do to hibernate to make that happen.