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