openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Albert Lee" <allee8...@gmail.com>
Subject Re: Using query hints for mapping extensions in orm.xml
Date Wed, 24 Jan 2007 16:38:08 GMT
First, I would not expected other providers will handle the special
openjpa.orm.xsd even if it is spec'ed out in the document header. If they
choose to ignore the new schema and proceed to parse the document content
using the standard orm.xsd, then any openjpa specific stanza will probably
be flagged as non-compliance.

The other scenario is: what about if the document does not specify the
schema at all, like the original sample. I suspect most providers will
tolerate this scenario, just like openjpa does.

Can the solutions be:
1) if an application wants to be fully portable between providers, the
standard orm.xsd must be specified. This will inhibit the use of openjpa
features.
2) if an application wants to use openjpa specific stanza and still be used
by other provider, don't specify the schema at all in the document. Hoping
the other providers will tolerate and ignore the openjpa features.
3) if an application wants to be openjpa schema compliance, then use
openjpa.orm.xsd in the document header and openjpa can validate the
document. However this will prevent the application to be portable to other
providers.

Albert Lee.


On 1/24/07, Kevin Sutter <kwsutter@gmail.com> wrote:
>
> Thank you, Albert, for your experimentation.  The updated schema
> definition
> (openjpa_orm_1_0.xsd) and the example openjpa_orm.xml seems to be what we
> are looking for.  I guess the only concern is whether we can count on
> other
> JPA implementations to ignore this extra schema definition and just rely
> on
> the standard orm.xsd.
>
> Question:  Even if other JPA providers are smart enough to ignore our
> specialized schema and use the standard JPA schema, what happens to our
> extension elements?  Do they get ignored as well?  Or, will the
> verification
> step still trip over these new/updated elements?
>
> Thanks again,
> Kevin
>
>
> On 1/23/07, Albert Lee <allee8285@gmail.com> wrote:
> >
> > Somehow the one of the attachment (openjpa_orm_1_0.xsd) from my previous
> > note did not make it to this forum.
> >
> > Try again here.
> >
> ----------------------------------------------------------------------------------------------
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <!--
> >     OpenJPA specific orm.xml schema locates in: (E.g.)
> >
> >
> http://incubator.apache.org/openjpa/xml/ns/persistence/openjpa_orm_1_0.xsd
> > "
> >
> >     This schema extends
> http://java.sun.com/xml/ns/persistence/orm_1_0.xsd
> > with
> >         OpenJPA specific stanza and uses the same name space as
> >             "http://java.sun.com/xml/ns/persistence/orm"
> > -->
> > <xsd:schema
> >                  version="1.0"
> >                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >          targetNamespace=" http://java.sun.com/xml/ns/persistence/orm"
> >                xmlns:orm="http://java.sun.com/xml/ns/persistence/orm"
> >       elementFormDefault="qualified"
> >     attributeFormDefault="unqualified"
> >   >
> >
> >   <xsd:annotation>
> >     <xsd:documentation>
> >       @(#)openjpa_orm_1_0.xsd 1.0  Jan 22 2007
> >     </xsd:documentation>
> >   </xsd:annotation>
> >   <xsd:annotation>
> >      <xsd:documentation><![CDATA[
> >
> >        This is the XML Schema for extending the persistence
> > object-relational
> >        mapping file for OpenJPA specific features.
> >
> >        The file may be named "META-INF/orm.xml" in the persistence
> >        archive or it may be named some other name which would be
> >        used to locate the file as resource on the classpath.
> >
> >      ]]></xsd:documentation>
> >   </xsd:annotation>
> >
> >   <!-- Redefine the orm_1_0.xsd with additional OpenJPA extensions -->
> >   <xsd:redefine schemaLocation="
> http://java.sun.com/xml/ns/persistence/orm_1_0.xsd
> > ">
> >
> >     <!--
> >         Append optional single <data-cache> element to <entity>.
> >           Valid values are "true" | "false" | "1" | "0".
> >           Default value is "false".
> >     -->
> >     <xsd:complexType name="entity">
> >       <xsd:complexContent>
> >         <xsd:extension base="orm:entity">
> >           <xsd:sequence>
> >             <xsd:element name="data-cache" type="xsd:boolean"
> > minOccurs="0" maxOccurs="1" default="false"/>
> >           </xsd:sequence>
> >         </xsd:extension>
> >       </xsd:complexContent>
> >     </xsd:complexType>
> >
> >
> >     <!--
> >         Append optional single <jdbc-nonpolymorphic> element to
> > <one-to-many>.
> >           Valid values are "true" | "false" | "1" | "0".
> >           Default value is "false".
> >
> >         Append optional single <jdbc-eager-fetch-mode> element to
> > <one-to-many>.
> >           Valid values are "parallel" | "others".
> >           Default value is "parallel".
> >     -->
> >     <xsd:complexType name="one-to-many">
> >       <xsd:complexContent>
> >         <xsd:extension base="orm:one-to-many">
> >           <xsd:sequence>
> >
> >             <xsd:element name="jdbc-nonpolymorphic" type="xsd:boolean"
> > minOccurs="0" maxOccurs="1" default="false"/>
> >
> >             <xsd:element name="jdbc-eager-fetch-mode" minOccurs="0"
> > maxOccurs="1" default="parallel">
> >               <xsd:simpleType>
> >                 <xsd:restriction base="xsd:string">
> >                   <xsd:enumeration value="parallel"/>
> >                   <xsd:enumeration value="others"/>
> >                 </xsd:restriction>
> >               </xsd:simpleType>
> >             </xsd:element>
> >
> >           </xsd:sequence>
> >         </xsd:extension>
> >       </xsd:complexContent>
> >     </xsd:complexType>
> >
> >   </xsd:redefine>
> >
> > </xsd:schema>
> >
> >
> > Albert Lee
> >
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message