openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Patrick Linskey (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (OPENJPA-204) Nesting of Emebedded in Embeddable element
Date Thu, 05 Apr 2007 20:15:32 GMT

     [ 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.


Mime
View raw message