java - why does jpa query the same column multiple times when using a one to many relationship? -


i have jpa code persists user, has set of permissions. table in sql 2 columns, user_id , permission. when try read user, generated sql looks off. specifically, 2 columns selected multiple times. here relevant code...

entity classes...

@entity @table(name="users") public class user implements storable{      @onetomany(cascade=cascadetype.all)     @joincolumn(name="user_id",referencedcolumnname="user_id")     private set<permission> permissions;  }  @entity @table(name="permissions") public class permission implements storable{      @embeddedid     permissionpk id;      @mapsid("userid")     @manytoone     @joincolumn(name="user_id")     user user;   }  @embeddable class permissionpk implements serializable{     @column(name="user_id")     int userid;     @column(name="permission")     string type; 

}

code queries...

user u = em.find(user.class, 262); 

here query generated finding permissions...

select     permission0_.user_id user2_8_1_,     permission0_.permission permissi1_3_1_,     permission0_.user_id user2_3_1_,     permission0_.permission permissi1_3_0_,     permission0_.user_id user2_3_0_      permissions permission0_      permission0_.user_id=? 

i cannot figure out life of me why user_id column selected 3 times , permission column twice. ends being ok me since store permissions in set , duplicates removed. know why can address future problems might not storing in set


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -