Return-Path: Delivered-To: apmail-openjpa-users-archive@minotaur.apache.org Received: (qmail 8657 invoked from network); 6 Mar 2009 12:33:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Mar 2009 12:33:05 -0000 Received: (qmail 98868 invoked by uid 500); 6 Mar 2009 12:33:05 -0000 Delivered-To: apmail-openjpa-users-archive@openjpa.apache.org Received: (qmail 98847 invoked by uid 500); 6 Mar 2009 12:33:04 -0000 Mailing-List: contact users-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@openjpa.apache.org Delivered-To: mailing list users@openjpa.apache.org Received: (qmail 98836 invoked by uid 99); 6 Mar 2009 12:33:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Mar 2009 04:33:04 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [193.41.253.139] (HELO isp.logentis.net) (193.41.253.139) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Mar 2009 12:32:56 +0000 Received: from [192.168.170.10] (unknown [192.168.170.10]) by isp.logentis.net (Postfix) with ESMTP id 8DCF129EE0F for ; Fri, 6 Mar 2009 13:32:30 +0100 (CET) Message-Id: <67913BF2-D4AF-4EBD-83FD-1CD4411E069F@logemann.org> From: Marc Logemann To: users@openjpa.apache.org Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Subject: same @Id on mapped superclass Date: Fri, 6 Mar 2009 13:32:35 +0100 X-Mailer: Apple Mail (2.930.3) X-Virus-Checked: Checked by ClamAV on apache.org Hi, following domain model: @MappedSuperclass public class BasicMetaData { @Id @Column(name = "oid") private long oid; ... } @Entity @VersionColumn(name = "jdoversion") @Table(name = "foo1") public class MetaData1 extends BasicMetaData { } @Entity @VersionColumn(name = "jdoversion") @Table(name = "foo2") public class MetaData2 extends BasicMetaData { } Now i have a oid value of "1" in the DB for MetaData1. When i try to use also "1" as oid for MetaData2 and try to persist, i am getting an exception because Entity MetaData1 is somehow in the same "ID space". So is it correct that one cant define an ID field in a mapped Superclass when the IDs have their own "counter". In this example, OpenJPA even thinks that MetaData2 is a detached instance of type MetaData1 because it looks in its cache and sees an OID with value 1 but for complete different entity. To make it short? I must define the OID field on the subclasses right? Marc