cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: splitted class into separate table
Date Wed, 16 Nov 2011 13:44:53 GMT
Yeah, let's confirm that "to Dep PK" is checked. If so, this may be a bug that we need to fix.

On Nov 16, 2011, at 4:34 PM, Michael Gentry wrote:

> Hi there,
> 
> Try using the To Dep PK setting in Cayenne Modeler to push users.id to
> accounts.user_id and see if that helps you.
> 
> mrg
> 
> 
> On Wed, Nov 16, 2011 at 7:54 AM, esis_coder@libero.it
> <esis_coder@libero.it> wrote:
>> Hi Andrus,
>> 
>> I'm using MySQL 5.1.  In this case flattened attributes works fine in a brand
>> new database created by Cayenne, but not in a legacy schema where USERS has
>> auto_generated <<PK>> and ACCOUNTS has normally assigned <<PK>>.
I have set
>> (one-to-one) toDep aware relationship from users(master) table to accounts
>> (dependent) table but saving User instance
>> throws thi exception:    Column 'user_id' cannot be null
>> actually the logger says:
>> 
>> INSERT INTO USERS (lastname, firstname) VALUES (?, ?)
>> INFO: [bind: 1->lastname '...', 2->firstname:'...']
>> 
>> INSERT INTO ACCOUNTS (email, id_commerciale, password, username) VALUES (?,
>> ?, ?, ?)
>> INFO: [batch bind: 1->email:'blabla@logic.com',    2->user_id:NULL,     3-
>>> password:'c...', 4->username:'...']
>> 
>> Do I necessarily have to create AUTO_PK_SUPPORT table in this scenario?
>> 
>> 
>> 
>> 
>>> ----Messaggio originale----
>>> Da: andrus@objectstyle.org
>>> Data: 16/11/2011 8.18
>>> A: <user@cayenne.apache.org>
>>> Ogg: Re: splitted class into separate table
>>> 
>>> Hi there,
>>> 
>>> You can map this in Cayenne via "flattened attributes" across a
>> DbRelationship.
>>> 
>>> You'd start by mapping both tables as DbEntities, and creating 1..1
>> DbRelationship between them. After that you map Users ObjEntity, and then add
>> "flattened attributes" to it, mapped to the related DbEntity columns. You can
>> check vertical inheritance article for the details of this technique (even
>> though you don't have inheritance here, flattened attributes are mapped
>> similarly) :
>>> 
>>> http://cayenne.apache.org/doc30/modeling-vertical-inheritance.html
>>> 
>>> Cheers,
>>> Andrus
>>> 
>>> On Nov 15, 2011, at 7:11 PM, esis_coder@libero.it wrote:
>>> 
>>>> Suppose that in legacy schema,that you are working on getting
>>>> Cayenne to work with, you aren't keeping all the information about
>>>> user with the user's main information in the users table, but in a
>>>> separate table.
>>>> 
>>>> For example:
>>>> 
>>>> <<table users>>
>>>> id
>>>> firstname
>>>> lastname
>>>> 
>>>> <<table accounts>>
>>>> user_id <<PK>><<FK>>
>>>> username
>>>> password
>>>> email
>>>> 
>>>> In my domain I wish to have User model with all properties firstname,
>> lastname,
>>>> username,email,password
>>>> without create class model related to accounts table and relative
>>>> association. Is there a way to do this with Cayenne ? can someone please
>> show
>>>> me a xml example?
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
>> 
> 


Mime
View raw message