MappedSuperClass wrongly generated if it contains an operation
--------------------------------------------------------------
Key: EJB-117
URL: http://jira.andromda.org/browse/EJB-117
Project: EJB Cartridge
Type: Bug
Versions: 3.3
Environment: Win XP Pro SP3, Java 1.5.0_19, Maven 2.0.10, andromda-3.3,
ejb-cartridge 1.0-SNAPSHOT, UML 2, MagicDraw 12.1
Reporter: heapifyman
Assigned to: Vance Karimi
I have the following model (see also attached image):
interface CaseComponent
+getIdAttribute() : Attribute
^
|
|
<<Entity>>
<<MappedSuperClass>>
abstract class CaseComponentImpl implements CaseComponent
^
|
|
<<Entity>>
MaterialListe extends CaseComponentImpl
<<Identifier>> +id : Long
There are several other entities which shall also extend CaseComponentImpl.
With this model the cartridge generates the following:
@javax.persistence.MappedSuperclass
public abstract class CaseComponentImplEmbeddable implements Serializable,
CaseComponent
complete with:
@javax.persistence.Id
@javax.persistence.GeneratedValue(strategy =
javax.persistence.GenerationType.AUTO)
@javax.persistence.Column(name = "ID", nullable = false, insertable = true,
updatable = true)
public java.lang.Long getId()
and
@javax.persistence.Entity
@javax.persistence.Table(name = "CASE_COMPONENT_IMPL")
@javax.persistence.NamedQuery(<some query>)
public abstract class CaseComponentImpl extends CaseComponentImplEmbeddable
This seems wrong to me. CaseComponentImplEmbeddable should not have an id and
CaseComponentImpl should not get the @Entity, @Table and @NamedQuery
annotations.
If I make CaseComponentImpl not abstract, CaseComponentImplEmbeddable does not
get the id property, but CaseComponentImpl still gets the @Entity, etc.
annotations and uses the non-existent method getID() in its compareTo method.
Aparty from that MaterialLIste then extends CaseComponentImplEmbeddable, which
does not provide the getIdAttribute method. Thus, I get several compilation
errors.
If I'm not mistaken, my desired class hierarchy should be no problem since I
can deploy it just fine if I create it manually.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.andromda.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july