[ https://issues.apache.org/jira/browse/OPENJPA-204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Patrick Linskey resolved OPENJPA-204. ------------------------------------- Resolution: Won't Fix This is a limitation of the JPA spec. From section 9.1.34: <spec>Only Basic, Column, Lob, Temporal, and Enumerated mapping annotations may portably be used to map the persistent fields or properties of classes annotated as Embeddable.</spec> OpenJPA supports embedded fields in embeddable instances, as well as various other usages of embedded things, but those are extensions to the spec. Due to OPENJPA-125, you can only configure nested embeddeds via annotations currently. Marking this as WNF, although in some ways it might be better closed as a duplicate of OPENJPA-125, since once we resolve OPENJPA-125, there will be a way to do this in XML (albeit not the spec-defined XML). Note that the JPA spec team defines the orm.xsd; OpenJPA is just an implementation of that spec. So, we can't change the orm.xsd. I believe, however, that this is an issue that the JPA 2 spec team will probably consider. > Nesting of Emebedded in Embeddable element > ------------------------------------------ > > Key: OPENJPA-204 > URL: https://issues.apache.org/jira/browse/OPENJPA-204 > Project: OpenJPA > Issue Type: Bug > Components: jpa > Affects Versions: 0.9.6 > Reporter: sharath.h > > Hi, > > In orm_1_0.xsd or orm-xsd.rsrc files under the <xsd:complexType > name="embeddable-attributes"> the <xsd:element name="embedded" > type="orm:embedded" minOccurs="0" maxOccurs="unbounded"/> is not present. > > Please let me know if there is any valid reason behind it.Was the embedded > element in embeddable-attributes was accidently missed out? > > I faced the issue when i tried the example something like as shown below: > > class A > { > int id; > B objB; > > } > > class B > { > String str1; > Date d; > C objC; > } > > class C > { > String str2; > } > > I wanted to persist object A into a single table by having object B as > embedded and object B inturn having object C as embedded. > My corresponding orm mapping file is as shown below: > > <?xml version="1.0" encoding="UTF-8"?> > <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd" > version="1.0"> > > <entity class="A"> > <table name="TableA"/> > <attributes> > <id name="id"> > <column name="ID"/> > </id> > <embedded name="objB"/> > </attributes> > </entity> > > <embeddable class="B"> > <attributes> > <basic name="str1"> > <column name="COL2"/> > </basic> > <basic name="d"> > <column name="DateCol"/> > </basic> > <embedded name="objC"/> > </embeddable> > <embeddable class="C"> > <attributes> > <basic name="str2"> > <column name="COL3"/> > </basic> > </embeddable> > </entity-mappings> > > This was not possible due to orm schema restriction. > > > > Thanks, > Regards, > Sharath.H -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.