cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: Getting null instead of the actual value
Date Tue, 13 Sep 2011 14:09:36 GMT
I haven't read the entire thread, only the messages quoted below. 

Michael's advise is absolutely correct. However the initial code worked because the Role was
likely already registered in the context, so the UserRoles was pulled automatically in the
same context.

So ... a few things to check:

1. Can you confirm in DB that there's no userrole records with NULL roleid?
2. The mapping - if you could post the XML of all 3 DbEntity/ObjEntity mappings with their
relationships it may shed some light on this problem.
3. The context - what happens between commit and access of the role object (serialization/deserialization?
Are you working with the same ObjectContext and the same instances of all objects, or are
you refetching them fresh? Same ObjectContext or different ones)?

Andrus


On Sep 13, 2011, at 4:47 PM, Christian Grobmeier wrote:
> Hi folks,
> 
> i tried this, i didn't work. Any more ideas?
> One thing I should note: it doesn'ht happen all the time
> unfortunately. Its only sometimes and I really don't know why.
> 
> More ideas appreciated....
> 
> Cheers
> Christian
> 
> 
> 
> On Tue, Sep 6, 2011 at 5:42 PM, Michael Gentry <mgentry@masslight.net> wrote:
>> Hi Christian,
>> 
>> I suspect it is because you are creating the UserRole outside the
>> DataContext.  Try something like:
>> 
>> UserRoles userRoles = user.getObjectContext.newObject(UserRoles.class);
>> userRoles.setUser(user);
>> userRoles.setRole(role);
>> 
>> mrg
>> 
>> 
>> On Tue, Sep 6, 2011 at 11:14 AM, Christian Grobmeier
>> <grobmeier@gmail.com> wrote:
>>> Folks,
>>> 
>>> I need your help. An error in my app bugs me and I am looking
>>> desperately were it could happen.
>>> 
>>> The use case is:
>>> - create a user
>>> - create a user_role object
>>> - select one of the existing roles
>>> - connect all together and commit
>>> 
>>> I see that all values are correct in the database (mysql console)
>>> 
>>> But after the user registered, my app fails with the error "no role".
>>> 
>>> What I do is basically:
>>> 
>>> ur = User.getUserRoles();
>>> foreach ur:
>>>   r = ur.getRole()
>>> 
>>> 
>>> And the r reference is null. I am not sure what I am doing wrong. Any
>>> hints what I could check in my Cayenne app?
>>> 
>>> I add a role to a user liek this:
>>> 
>>> User user ...
>>> 
>>> UserRoles userRoles = new UserRoles();
>>> userRoles.setUser(user);
>>> userRoles.setRole(role);
>>> user.addToUserRoles(userRoles);
>>> role.addToRolesToJoin(userRoles);
>>> 
>>> Any hints highly apprecitated - thanks in advance
>>> 
>>> Christian
>>> 
>> 
> 
> 
> 
> -- 
> http://www.grobmeier.de
> 


Mime
View raw message