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      (Webobjects-dev@lists.apple.com)
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>> http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40anazys.com
>>>>> 
>>>>> This email sent to webobje...@anazys.com
>>>>> 
>>>> 
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>>> Help/Unsubscribe/Update your Subscription:
>>>> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
>>>> 
>>>> This email sent to ch...@global-village.net
>>> 
>>> -- 
>>> 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      (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40avendasora.com
>> 
>> This email sent to webobje...@avendasora.com
>> 
>> 
> 
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to