Sure Dave, here they are:
parent entity
{
attributes = (
{allowsNull = N; name = id; prototypeName = id; },
{allowsNull = Y; columnName = name; name = name; prototypeName =
varchar255; }
);
attributesUsedForLocking = (id);
className = "com.anazys.tempFrameworkWonder54.Core";
classProperties = (name);
fetchSpecificationDictionary = {};
isAbstractEntity = Y;
name = Core;
primaryKeyAttributes = (id);
}
subclass Employee
{
attributes = (
{allowsNull = N; name = id; prototypeName = id; },
{allowsNull = Y; columnName = name; name = name; prototypeName =
varchar255; }
);
attributesUsedForLocking = (id);
className = "com.anazys.tempFrameworkWonder54.Employee";
classProperties = (name);
externalName = Employee;
fetchSpecificationDictionary = {};
name = Employee;
parent = Core;
primaryKeyAttributes = (id);
}
subclass Customer
{
attributes = (
{allowsNull = N; name = id; prototypeName = id; },
{allowsNull = Y; columnName = name; name = name; prototypeName =
varchar255; }
);
attributesUsedForLocking = (id);
className = "com.anazys.tempFrameworkWonder54.Customer";
classProperties = (name);
externalName = Customer;
fetchSpecificationDictionary = {};
name = Customer;
parent = Core;
primaryKeyAttributes = (id);
}
I could edit the code for the SQL when generating the database, but the issue
is really in production, if I update the app, it will start to generate pk
based on the sub-entity, and I will end up with duplicate pks between various
sub-classes.
So the SQL generated by EntityModeler is just a way to check if it's going to
break the current app, not really for that specific action.
Xavier
On 2 févr. 2011, at 19:05, David Avendasora wrote:
> Hi Xavier,
>
> Can you paste the .plist files for the three Entities (the super and two
> subclasses) into this email? I'm suspecting that there maybe something wrong
> with the way it is modeled...
>
> What if you manually create the database tables and the sequence instead of
> letting EntityModeler generate the SQL for them? Does creating and saving new
> instances of the subclasses work? What I'm trying to figure out is if this is
> a problem with just the Create Table statements generated by the plugin, or a
> more fundamental problem with how EOF is using Horizontal Inheritance.
>
> Dave
>
> On Feb 2, 2011, at 12:46 PM, Dev WO wrote:
>
>> Hello Chuck,
>>
>> With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the
>> same, it doesn't conform to the inheritance modeled in EntityModeler.
>> I've got to check into ERExtensions if I can find something.
>>
>> I understand not everyone is using Horizontal Inheritance, but I must not be
>> the only one trying to figure out what's going on with 5.4.
>>
>> Just to make sure, I've created a new Wonder framework, created only an
>> abstract entity and 2 sub-entities with horizontal inheritance, and the
>> generated SQL is not correct, it doesn't conform to the modeled inheritance
>> by requesting sequence for the pk for each sub-entity instead of the
>> abstract parent sequence.
>> It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects
>> though. Should I fill a Jira for this? I don't think this could be qualified
>> as a regression as I don't even know if this bug was ever in 5.3.
>>
>> Thanks for your help,
>>
>> Xavier
>>
>> On 1 févr. 2011, at 20:24, Chuck Hill wrote:
>>
>>> Hi Xavier,
>>>
>>>
>>> On Feb 1, 2011, at 12:42 AM, Dev WO wrote:
>>>
>>>> I'm still trying to figure out what's happening...
>>>> What I have found so far is that:
>>>>
>>>> If I'm doing:
>>>> -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and
>>>> PostgresqlPlugIn.framework from 5.3
>>>> -binding to WebObjects 5.4 (using
>>>> wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my
>>>> wolips.properties)
>>>> => SQL generation doesn't conform to entity inheritance
>>>>
>>>> If I'm doing:
>>>> -latest 5.4 wonder frameworks
>>>> -binding to WebObjects 5.4 (using
>>>> wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my
>>>> wolips.properties)
>>>> => SQL generation doesn't conform to entity inheritance
>>>
>>> Try it without JavaERJDBCAdaptor.framework at all (just use
>>> JavaJDBCAdaptor.framework)
>>>
>>>
>>>> if I'm doing:
>>>> -lastest 5.3 wonder frameworks
>>>> -binding to WebObjects 5.3 (using
>>>> wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my
>>>> wolips.properties)
>>>> => I've got the correct behavior which is inheritance enforced when
>>>> generating the SQL in EntityModeler.
>>>>
>>>> So I can say there is something different regarding horizontal inheritance
>>>> between WebObjects 5.3 and WebObjects 5.4. Based on the first case
>>>> scenario, it seems the difference occurs within WebObjects frameworks (but
>>>> maybe something else is involved in the Wonder frameworks in addition to
>>>> the 2 I keept from 5.3 in the first case).
>>>>
>>>> I don't know if this is to be considered a bug or if there's just
>>>> something I should add/edit to make horizontal inheritance works under a
>>>> complete 5.4 setup, but the fact that I couldn't find the same issue on
>>>> the list makes me feel like the issue could at least be fixed on my side.
>>>
>>> It might be that few people are using Horizontal Inheritance. I have not
>>> noticed any problem with Single Table Inheritance.
>>>
>>>
>>>> Any pointer about where to look at to ensure proper horizontal inheritance
>>>> SQL generation under 5.4?
>>>
>>> Based on your evidence, I'd search for "primary" in ERExtensions. If
>>> nothing else, that will at least show you were in EOF the PK generation
>>> happens.
>>>
>>>
>>> Chuck
>>>
>>>
>>>> On 31 janv. 2011, at 18:57, Dev WO wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I don't really know where the issue come from, but here's what's
>>>>> happening and what I've already tried to fix it (without a solution so
>>>>> far).
>>>>>
>>>>> I'm using Eclipse 3.6.1.M20100909 cocoa 64
>>>>> WOLips 3.6.6215
>>>>> PostgreSQL 8.4
>>>>> WO 5.4.3
>>>>>
>>>>> My previous setup was WO 5.3.3 with the previous major version of Eclipse
>>>>> (Carbon) and WOLips. The following behavior wasn't happening in this
>>>>> setup.
>>>>>
>>>>> I've got an Abstract entity A and a couple sub-entities, let's say SubA1
>>>>> and SubA2.
>>>>> In the previous setup, when I generated the SQL for them, they were both
>>>>> correctly referring to A_seq for their primary key generation (in
>>>>> EntityModeler when generating SQL and while the app was running).
>>>>> Now they are referring to SubA1_seq and SubA2_seq (in EntityModeler and
>>>>> while the app is running) which breaks the entire application by
>>>>> providing pk that might be already taken by the other sub-entity...
>>>>>
>>>>> I first thought it could come from the PosgreSQL plugin framework, but
>>>>> after putting back my previous one, the issue is still there (cleaned the
>>>>> project after "updating" the framework).
>>>>>
>>>>> I'll will update WOLips right away to check if it changes anything, but
>>>>> if anyone has an idea on what might cause this issue and even better how
>>>>> to fix it to respect entity inheritance, that would be really nice:)
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Xavier
>>>>> _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Webobjects-dev mailing list ([email protected])
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>> http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40anazys.com
>>>>>
>>>>> This email sent to [email protected]
>>>>>
>>>>
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list ([email protected])
>>>> Help/Unsubscribe/Update your Subscription:
>>>> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
>>>>
>>>> This email sent to [email protected]
>>>
>>> --
>>> Chuck Hill Senior Consultant / VP Development
>>>
>>> Practical WebObjects - for developers who want to increase their overall
>>> knowledge of WebObjects or who are trying to solve specific problems.
>>> http://www.global-village.net/products/practical_webobjects
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40avendasora.com
>>
>> This email sent to [email protected]
>>
>>
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]