I have a table(USER) and view(PERSON). These two are related in one-to-one way with PERSON_ID in
both the tables. But User table primary key is USER_ID and not PERSON-ID.
I want to fetch only one column PERSON.CITY and this should be readonly fetch. Anyway person is view.
So if I put one-to-one, then whole object(with 50 col) is fetched which is a overkill. Based on common key,
I only want to fetch one column from PERSON and put that as property of User.
I have this as a formula, but my colleague is opposing this idea since it becomes a sub-query.
So what are the other ways of acheiving this?
I want to get ideas for better ways of implementing this. Thank you for your help.
What is your view for? If the property it has is related to User, would it not just be easier to access the data via that relationship rather than introducing the overhead of having updatable views?
Personally, I think your sub-query is fine. It will be two queries normally (unless your associations are not lazy). I'm not even sure I'd worry too much about populating all fields over populating just one. It is no quicker from a database point of view selecting one column over selecting all columns, Hibernate hydrating an object is fast code so your only real overhead is the amount of data you sent over the network between the database and server. Do you have a perfomance problem there or is this just a guess that it will help?