You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by "esis_coder@libero.it" <es...@libero.it> on 2011/11/15 17:11:24 UTC

splitted class into separate table

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? 
   



Re: splitted class into separate table

Posted by Andrus Adamchik <an...@objectstyle.org>.
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? 
> 
> 
> 
>