java - JPA/Hibernate fetch -
i have 2 classes onetomany one-directional relationship.
class { @column(name = "a_id") integer id; @onetomany @joincolumn(name = "a_id") private list<b> listofb; //getters , setters } class b { integer id; string name; @column("a_id") integer aid; //getters , setters }
in database have saved instance of b. need do:
a.listofb.add(b); save(a);
in object b
in database have id , name, fk null. need update fk, before need fetch object b
; how can it?
only writing custom method, or hibernate/jpa have own method fetch objects?
your mapping not common. common way have @joincolumn
in b
, mappedby = "a"
in a
. , can specify cascade
. in simplest case cascade = cascadetype.all
.
class { @column(name = "a_id") integer id; @onetomany(mappedby = "a", cascade = cascadetype.all) private list<b> listofb = new arraylist<b>; public void addb(b b) { b.seta(this); listofb.add(b); } } class b { integer id; string name; @manytoone(fetch = fetchtype.lazy) @joincolumn(name = "a_id") private a; }
to solve issue
save(a); b.seta(a); saveorupdate(b);
and cascade
same way of addb()
method
a.addb(b); save(a);
Comments
Post a Comment