Hi Ben! Both WebModule and WebPage have id column name 'id'.
best regards Łukasz ----- Original Message ---- From: ben short <[EMAIL PROTECTED]> To: [email protected] Sent: Thursday, 6 September, 2007 3:13:59 PM Subject: Re: Id column = null? Whats the id column name on the WebPage table? On 9/6/07, Xh <[EMAIL PROTECTED]> wrote: > Hi Ben! > > Data already exists in database (so it is commited ;) ). > All I try to do is to fetch those data. > > Besides, it is very weird that ID for WebModule works and for WebPage does > not. > > Changing GenerationType to AUTO does not solve the problem. > > best regards > Łukasz > > ----- Original Message ---- > From: ben short <[EMAIL PROTECTED]> > To: [email protected] > Sent: Thursday, 6 September, 2007 1:20:59 PM > Subject: Re: Id column = null? > > Try changing to GenerationType to AUTO eg > > @GeneratedValue(strategy = GenerationType.AUTO) > > I think that the GenerationType.IDENTITY dosent assign the ids to the > rows until its commited to the db, so any relations are written to the > db as nulls. > > Ben > > On 9/6/07, Xh <[EMAIL PROTECTED]> wrote: > > Hi All! > > > > I have build two entities atop existing database. > > I have successfully created OneToMany bidirectional mapping. > > The mapping is WebModules (one) - WebPage (many) > > > > I can fetch WebModules, display their IDs and iterate through associated > > WebPages. > > BUT WebPages IDs are set to null. > > > > For example, the below code: > > > > // wef is my SessionBean, it calls WebModule's NamedQuery and returns found > > module > > WebModule module = wef.findWebModuleByName("Add"); > > > > // module id is displayed properly, e.g. 2 > > > > response.getWriter().write( > > module.getId() + ":" + module.getDescription() + "<br/>"); > > > > // iterate through associated WebPages > > > > for (WebPage page : module.getPages()) { > > > > // id is displayed as null > > // title is displayed properly > > > > response.getWriter().write("<br/>" + page.getId()); > > response.getWriter().write("<br/>" + page.getTitle()); > > } > > > > Of course the pages' ids are not null, they are primary keys with > > automatically generated identities. > > > > I don't get it, maybe it's something wrong with my classes? > > Here they are: > > > > @Entity > > @Table(name="dw_modules",schema="dw") > > @NamedQuery ( > > name = "findWebModuleByName", > > query = "SELECT wm FROM WebModule wm WHERE wm.name = :name" > > ) > > public class WebModule implements Serializable { > > private Integer id; > > private Set<WebPage> pages = new HashSet<WebPage>(); > > ... > > @Id > > @GeneratedValue(strategy = GenerationType.IDENTITY) > > public Integer getId() { > > return id; > > } > > ... > > } > > > > @Table(name = "dw_pages", schema = "dw") > > public class WebPage implements Serializable { > > private Integer id; > > private WebModule parentModule; > > ... > > ... > > @Id > > @GeneratedValue(strategy = GenerationType.IDENTITY) > > public Integer getId() { > > return id; > > } > > ... > > } > > > > thanks for any hints > > best regards > > Łukasz > > > > > > > > > > ___________________________________________________________ > > Want ideas for reducing your carbon footprint? Visit Yahoo! For Good > > http://uk.promotions.yahoo.com/forgood/environment.html > > > > > > > > ___________________________________________________________ > Want ideas for reducing your carbon footprint? Visit Yahoo! For Good > http://uk.promotions.yahoo.com/forgood/environment.html > ___________________________________________________________ NEW Yahoo! Cars - sell your car and browse thousands of new and used cars online! http://uk.cars.yahoo.com/
