Hi Andrus,

thanks for the comments. I will check that again and come back on
thursday with the answer (currently on travel).
What bugs me really is that it works sometimes, and sometimes not. Can
this behavior be explained with Michaels/your suggestions?

Cheers

On Tue, Sep 13, 2011 at 4:09 PM, Andrus Adamchik <and...@objectstyle.org> wrote:
> 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 <mgen...@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
>>> <grobme...@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
>>
>
>



-- 
http://www.grobmeier.de

Reply via email to