> I am building out an object model and services for an
> existing relational model and the table structure is a
> little strange and I am having trouble with the object
> mapping.
> Here are the details
>
> We have 2 tables
> company with primary key
> id
>
> 12M_company_venue with columns
>
> parent_company_id
> venue_company_id
>
> The relational model works like this, a row in the
> company table can represent both a company and a venue
> given the keys to the (one to many) 12M_company_venue
> join table you can get
> the venues of the company or just the company in cases
> were the parent_company_id = venue_company_id.
>
> here is an example to get all the companies
>
> SELECT company.id, company.name as name
> FROM 12M_company_venue
> INNER JOIN company ON
> 12M_company_venue.venue_company_id = company.id
> WHERE company.id =
> 12M_company_venue.parent_company_id
>
> Here is an example on how to get all the venues
>
> SELECT company.id as id, company.name as venue_name
> FROM 12M_company_venue
> INNER JOIN company ON
> 12M_company_venue.venue_company_id = company.id
> WHERE company.id !=
> 12M_company_venue.parent_company_id
>
> I know this is a little nasty but its what I have and
> another app (PHP) is working with this dataset and we
> just can't update it right now. Is it possible to map
> this with JPA ? Any help would be appreciated.
>
> -Matt
How about rethinking it as
SELECT parent.id as parent_id,
parent.name as parent_name,
venue.id as venue_id,
venue.name as venue_name
FROM 12M_company_venue
INNER JOIN company as parent ON 12_company_parent_id = parent.id
INNER JOIN company as venue ON 12_company_venue_id = venue.id ;
However, that SQL is of course not needed in entity, just add parentCompany and
venueCompany into your 12MCompanyVenue entity bean.