Hi Christian! Yes, You are absolutely right, I didn't have setter for that field.
thanks! best regards Łukasz ----- Original Message ---- From: Christian Defoy <[EMAIL PROTECTED]> To: [email protected] Sent: Thursday, 6 September, 2007 3:46:58 PM Subject: Re: Id column = null? Hi, It is probably because you do not have a setId() method in your WebPage class. Since you are using Property access, you must define setters for every field (or at least that's how I understand it). If you were using Field access, you wouldn't have that issue. Hope this helps! Christian On 9/6/07, ben short <[EMAIL PROTECTED]> wrote: > Are you doing all your work within a transacion? I wonder if the ids > are not being set as ou havent tried to access them within a > transaction. > > On 9/6/07, ben short <[EMAIL PROTECTED]> wrote: > > Maybe you could try and load one of the WebPage objects directly > > rather than via the WebModule and see if the id gets set? > > > > On 9/6/07, Xh <[EMAIL PROTECTED]> wrote: > > > 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/ > > > > > > ___________________________________________________________ Want ideas for reducing your carbon footprint? Visit Yahoo! For Good http://uk.promotions.yahoo.com/forgood/environment.html
