I am using JPA2.0 with Hibernate.
For example I have JPA entity for below table:
User [userId, userName, userAddress]
I can fetch user entity using find() method:
User user = entityManager.find(User.class , 1L); // 1L is user id
Now, If I change any user's state (let say userName) on same user entity I fetched above:
user.setUserName("Narendra");
And perform merge using merge() method:
entityManager.merge(user);
Merge is performed successfully with below query which is fired by JPA/hibernate while merging:
Hibernate: update User set USERID =?, USERNAME=?, USERADDRESS=? where USERID=?
Here my question is, If I changed only user name state in User entity, I did not change the userId, userAddress etc. JPA should fire below query (just to change userName) rather above query.
Hibernate: update User set USERNAME=? where USERID=?
Any idea on it?