Hibernate subcriteria with FetchMode doesn't work -
i want utilize criteria conditions of 1 many field.
introducing model briefly, 1 item has multiple options. because want item filtered options, , pass json parser (with no session), have options when i( query it.
i have coded below before adding restrictions options, works me fine.
item item = (item)session.createcriteria(item.class) .setfetchmode("options", fetchmode.join) .add(restrictions.eq("id", id)) .uniqueresult(); but when added restrictions options occurs error (exactly, when called function tries access item, searching works fine.)
item item = (item)session.createcriteria(item.class) .setfetchmode("options", fetchmode.join) .add(restrictions.eq("id", id)) .createcriteria("options").add(restrictions.eq("status", itemstatus.able)) .uniqueresult(); an error :
failed lazily initialize collection of role: options, not initialize proxy - no session
i have added setfetchmode end of sub criteria, result same.
what happened!? tell solution?
i think getting error when trying access options after session closed. according hibernate collections lazy-loaded default. if want fetch options along item have set fetchtype eager (fetchtype.eager) in annotation or mapping file whatever using.
can seek code
item item = (item)session.createcriteria(item.class) .setfetchmode("options", fetchmode.select) .add(restrictions.eq("id", id)) .createcriteria("options").add(restrictions.eq("options.status", itemstatus.able)) .uniqueresult(); hibernate hibernate-criteria
No comments:
Post a Comment