Reference to superclass in orm.xml required?

Hi,
I've been experimenting with TopLink essentials for the past few days and am pretty impressed so far. Nice work :)
Just one thing I noticed: it seems that if I create an orm.xml for an entity, I must include an <entity> tag for that entity's superclass even though the superclass's metadata has already been loaded from another orm.xml file. TopLink doesn't seem to demand a metadata-complete mapping for the superclass, but I was wondering if it is required by the JPA spec.
The way my app is distributed prevents me from having a single orm.xml file.
Roger

I've discovered that you also need a entry for entities in relationships (or one-to-one relationships at least). Otherwise, the exception is
Exception [TOPLINK-41] (Oracle TopLink Essentials - 2006.5 (Build 060511)):
          oracle.toplink.essentials.exceptions.DescriptorException
Exception Description: A non-read-only mapping must be defined for the
          sequence number field.
Descriptor: RelationalDescriptor(figbird.commerce.entities.Product -->
          [DatabaseTable(fb_metadata), DatabaseTable(FB_PRODUCTS)])

Similar Messages

  • Persistence-unit-defaults in orm.xml do not impact TopLink Essentials?

    Hi,
    I have configured a default schema in the persistence-unit-defaults section of the orm.xml mapping file:
    <persistence-unit-metadata>
         <persistence-unit-defaults>
              <schema>SCHEMA_NAME</schema>     
         </persistence-unit-defaults>
    </persistence-unit-metadata>
    The queries that TopLink JPA is generating (and logging) do not qualify any table name with the schema as configured above. It seems that the persistence-unit-default settings are ignored by TopLink JPA?
    N.B: TopLink mentions that it is searching for a file named orm.xml and that it found one - so the file should be processed by TopLink. ("Found a default mapping file at ...")
    Any ideas?

    Thank you for mentioning that workaround.
    Regarding to the results of my tests, the persistence-unit-defauls "schema" does not affect sequences? Is this part of the bug and can expected to be fixed or is the schema/owner of sequences outside the JPA spec?
    currently I found no other solution than to specify the default schema in the persistence-unit-defaults in orm.xml AND declarate all sequences used with the fully qualified name, i.e. when switching the schema this would require changing it at multiple points....
    regards,
    hans

  • JPA: Translating Annotations to Metadata (orm.xml)

    I'm trying to translate the commented annotations in the next two classes to metadata:
    package pfc.model;
    import java.io.Serializable;
    import java.util.Date;
    //import javax.persistence.*;
    //@Entity
    public class DadesComentari implements Serializable {
        //@Id
        //@Column(name = "id", nullable = false)
        private Integer id;
        //@Column(name = "accio")
        private Integer accio;
        //@Column(name = "idAutor", nullable = false)
        private String idAutor;
        //@Column(name = "perfilAutor", nullable = false)
        private Integer perfilAutor;
        //@Column(name = "dataCreacio", nullable = false)
        //@Temporal(TemporalType.TIMESTAMP)
        private Date dataCreacio;
        //@Column(name = "text", nullable = false)
        private String text;
        //@Column(name = "idIncidencia", nullable = false)
        private Integer idIncidencia;
         ...(Setters and getters)...
    package pfc.model;
    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.Date;
    //import javax.persistence.*;
    //@Entity
    public class DadesIncidencia implements Serializable {
        //@Id
        //@Column(name = "id", nullable = false)
        private Integer id;
        //@Column(name = "servAfectats", nullable = false)
        private Integer servAfectats;
        //@Column(name = "idCreador", nullable = false)
        private String idCreador;
        //@Column(name = "idTecnic")
        private String idTecnic;
        //@Column(name = "idTD")
        private String idTD;
        //@Column(name = "visitaSolicitada", nullable = false)
        private Boolean visitaSolicitada;
        //@Column(name = "dataCreacio", nullable = false)
        //@Temporal(TemporalType.TIMESTAMP)
        private Date dataCreacio;
        //@Column(name = "dataTancament")
        //@Temporal(TemporalType.TIMESTAMP)
        private Date dataTancament;
        //@Column(name = "nomClient")
        private String nomClient;
        //@Column(name = "cognomsClient")
        private String cognomsClient;
        //@Transient
        private ArrayList comentaris;
         ...(Setters and getters)...
    }To do it I have created the next file orm.xml:
    <?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 http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
                     version="1.0">
        <package>pfc</package>
        <entity class="pfc.model.DadesIncidencia" name="incidencia">     
            <attributes>
                <id name="id">
                    <column name="id" nullable="false"/>
                </id>
                <basic name="servAfectats">
                    <column name="servAfectats" nullable="false"/>
                </basic>
                <basic name="dataCreacio">
                    <column name="dataCreacio" nullable="false"/>
                    <temporal>TIMESTAMP</temporal>
                </basic> 
                <basic name="dataTancament">
                    <column name="dataTancament"/>
                    <temporal>TIMESTAMP</temporal>
                </basic>
                <basic name="idCreador">
                    <column name="idCreador" nullable="false"/>
                </basic>
                <basic name="idTecnic">
                    <column name="idTecnic"/>
                </basic>
                <basic name="idTD">
                    <column name="idTD"/>
                </basic>
                <basic name="visitaSolicitada">
                    <column name="visitaSolicitada" nullable="false"/>
                </basic>
                <basic name="nomClient">
                    <column name="nomClient"/>
                </basic> 
                <basic name="cognomsClient">
                    <column name="cognomsClient"/>
                </basic>  
                <transient name="comentaris"/>
            </attributes>
        </entity>
        <entity class="pfc.model.DadesComentari" name="comentari">
            <attributes>
                <id name="id">
                    <column name="id" nullable="false"/>
                </id>           
                <basic name="idIncidencia">
                    <column name="idIncidencia" nullable="false"/>
                </basic>
                <basic name="perfilAutor">
                    <column name="perfilAutor" nullable="false"/>
                </basic>
                <basic name="idAutor">
                    <column name="idAutor" nullable="false"/>
                </basic>
                <basic name="dataCreacio">
                    <column name="dataCreacio" nullable="false"/>
                    <temporal>TIMESTAMP</temporal>
                </basic>
                <basic name="accio">
                    <column name="accio" />
                </basic>
                <basic name="text">
                    <column name="text" nullable="false"/>
                </basic>           
            </attributes>
        </entity>
    </entity-mappings>Which I reference from the persistence.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
        <persistence-unit name="pfc" transaction-type="RESOURCE_LOCAL">
            <provider>oracle.toplink.essentials.PersistenceProvider</provider>
            <mapping-file>pfc/model/orm.xml</mapping-file>
            <!--<class>pfc.model.DadesIncidencia</class>
        <class>pfc.model.DadesComentari</class> -->
            <properties>
                <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
                <property name="toplink.jdbc.url" value="jdbc:mysql://localhost/pfc"/>
                <property name="toplink.jdbc.password" value=""/>
                <property name="toplink.jdbc.user" value="root"/>
            </properties>
        </persistence-unit>
    </persistence>Having done only these modifications, the next exception appears when trying to execute the application:
    Exception [TOPLINK-30005] (Oracle TopLink Essentials - 2.0 (Build b58g-fcs (09/07/2007))): oracle.toplink.essentials.exceptions.PersistenceUnitLoadingException
    Exception Description: An exception was thrown while searching for persistence archives with ClassLoader: WebappClassLoader
      delegate: false
      repositories:
        /WEB-INF/classes/
    ----------> Parent Classloader:
    org.apache.catalina.loader.StandardClassLoader@f4f44a
    Internal Exception: javax.persistence.PersistenceException: Exception [TOPLINK-28018] (Oracle TopLink Essentials - 2.0 (Build b58g-fcs (09/07/2007))): oracle.toplink.essentials.exceptions.EntityManagerSetupException
    Exception Description: predeploy for PersistenceUnit [pfc] failed.
    Internal Exception: java.lang.NullPointerException
         at oracle.toplink.essentials.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:143)
         at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:169)
         at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:110)
         at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
         at pfc.model.DAOFactory.connectarBD(DAOFactory.java:15)
         at pfc.model.FaçanaDelModel.obtenirDadesIncidencia(FaçanaDelModel.java:33)
         at pfc.IncidenciaController.handleRequest(IncidenciaController.java:18)Anybody can see what I'm not doing properly?
    Thank you in advance, and sorry for my "still in progress" English

    There is not yet any built in support for this.
    What I have been doing is configuring JDev to understand the orm.xml schema so that when editing the file with JDeveloper it can assist me on the available elements and attributes as well as a default structure.
    JDeveloper :: Tools -> Preferences -> XML Schema -> Add
    jar:file:/C:/oracle/10.1.3.1/preview/jdev/toplink/jlib/toplink-essentials.jar!/orm_1_0.xsd
    Now when you wish to create an orm XML instance document in your project you can use:
    New -> General -> XML -> XML Document from Schema
    Select "Use Registered Schema"
    Select the ORM target namespace: http://java.sun.com/xml/ns/persistence/orm
    This will give you a basic orm.xml file properly configured which you can then use to define your mappings.
    Doug

  • Cannot open persistence.xml nor orm.xml

    I had to kill JDev process after I realized Data Control could not be created on a session EJB since application was not created with JSF,EJB technology. JDev kept trying to create Data Control. I left it trying over night and in the morning I killed process. I restarted JDev and tried to open files persistence.xml and orm.xml, but JDev just showed up message "Loading...Please wait." and it was stuck with that message. I could open all other files except these two XML files.
    Is there a workaround?

    CG_AUDIO wrote:
    Has anyone been able to open a pages file that has the cannot open .xml required error?
    I opened a doc from pages'08 in pages'09 made some crucial changes saved as new name and cannot open it again now.
    I tried opening in '08 and of course no luck.
    I just finished 3 hours of writing and cannot do that again!!!
    3 hours of writing without no intermediate save in different files is silly.
    Attach the file to a mail
    send them to my maibox.
    I will try to revive the raw text.
    Click my blue name to get my address.
    IMPORTANT: search for the keystring _"backup, backup"_ in existing threads !
    Yvan KOENIG (VALLAURIS, France.) jeudi 20 août 2009 20:09:19

  • JPA - orm.xml mapping problem.

    Hi folks,
    I am trying to give entity mappings in orm .xml
    Sequence generation tag is not working fine for me.
    its giving me a xml parsing error.
    can some body give me a right combination .
    I want to give automatic generation for a database field which is not the primary key.
    My orm.xml file is given below....
    some body pls help me....
    <?xml version="1.0" encoding="UTF-8"?>
    <entity-mappings version="1.0" 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">
    <entity class="com.git.oms.common.entity.ORDReply" name="ORDReply" metadata-complete="false">
         <table name="ORDReply"/>
         <attributes>     
         <basic name="serialNo">
              <column name="SerialNo"/>
              <generated-value generator="ORDREPLY_SEQ" strategy="SEQUENCE"/>
              <sequence-generator name="ORDREPLY_SEQ" sequence-name="ORDREPLY_SEQ" allocation-size="1"/>
         </basic>      
         </attributes>
    </entity-mappings>

    Hi folks,
    I am trying to give entity mappings in orm .xml
    Sequence generation tag is not working fine for me.
    its giving me a xml parsing error.
    can some body give me a right combination .
    I want to give automatic generation for a database
    field which is not the primary key.
    My orm.xml file is given below....
    some body pls help me....
    <?xml version="1.0" encoding="UTF-8"?>
    <entity-mappings version="1.0" 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/persist
    ence/orm orm_1_0.xsd">
    <entity class="com.git.oms.common.entity.ORDReply" name="ORDReply" metadata-complete="false">
    <table name="ORDReply"/>
    <attributes>
    <basic name="serialNo">
    <column name="SerialNo"/>
    <generated-value generator="ORDREPLY_SEQ" strategy="SEQUENCE"/>
    <sequence-generator name="ORDREPLY_SEQ" sequence-name="ORDREPLY_SEQ" allocation-size="1"/>
    </basic>
    </attributes>
    </entity-mappings>I am not able to configure a sequence for a Id coloumn also.
    Getting some xml parsing error. Some one please help me by giving some sample.
    I am also using same kind of orm.xml and sequence-generator

  • Need to reference file name within the XML Output

    Not sure if this is possible, as I'm new to the livecycle/XML world. But I need to be able to reference a file within the XML output from the PDF.
    The Scenario is that a pdf form of a business card will be issued to 50 franchisees for them to type in their names and mobiles, click submit and the XML file to be sent to myself, and be imported in to InDesign populating their data ready for printing. Up to here I have it working perfectly.
    However as each franchisee have a combination of up to 5 logos to place in the bottom corner to save having to have various templates with different combinations of logos and having to ensure the correct templates are used. I intend to reference each companies combination as an EPS and make the reference within the xml out and have it import directly in with the other data. I can type the code directly within the xml but I would like to have the form reference it directly in the xml output. Is this possible or am expecting to much of livecycle? Any help/advice greatly appreciated.
    David

    Hi MadhavaGanji,
    I have post how to validate the file name, header row against definition table which stored the file name and column definition. 
    Take a look and see if this is helpful.
    http://sqlage.blogspot.com/2013/11/ssis-validate-file-header-against.html
    http://sqlage.blogspot.com/

  • Error when using CDATA in orm.xml

    Hi everyone!
    I am writing an application using TopLink Essentials. Something really weird is happening when I use CDATA sections in my orm.xml file to declare named queries.
    I declared a named query like this in my orm.xml file:
    &lt;/named-query&gt;
    &lt;named-query name="findLatestExchangeRate"&gt;
    SELECT a
    FROM ExchangeRate a
    WHERE
    a.code = :currency AND
    a.date = (SELECT MAX(b.date)
    FROM ExchangeRate b
    WHERE b.code = :currency AND b.date &amp;lt;= :before)
    &lt;/query&gt;
    &lt;/named-query&gt;
    This worked like a charm.
    Nonetheless, when I decided to use CDATA sections to declare the query and ovoid XML entities, somewhat like this:
    &lt;named-query name="findLatestExchangeRate"&gt;
    &lt;query&gt;
    &lt;![CDATA[
    SELECT a
    FROM ExchangeRate a
    WHERE
    a.code = :currency AND
    a.date = (SELECT MAX(b.date)
    FROM ExchangeRate b
    WHERE b.code = :currency AND b.date &lt;= :before)
    ]]&gt;
    &lt;/query&gt;
    &lt;/named-query&gt;
    Then the weirdest thing happen. I am not even able to create the EntityManagerFactory. I get an error that says:
    Exception in thread "main" Local Exception Stack:
    Exception [TOPLINK-8028] (Oracle TopLink Essentials - 2.0.1 (Build SNAPSHOT (02/01/2008))): oracle.toplink.essentials.exceptions.EJBQLException
    Exception Description: Syntax error parsing the query [findLatestExchangeRate:
              ], line 1, column 41: unexpected end of query.
    Internal Exception: line 1:41: unexpected token: null
    Does anyone has any idea of what could be going wrong here?
    Thanks in advance for any help you can give me.
    Edited by: [email protected] on Oct 13, 2008 1:10 PM

    I tried it in EclipseLink 1.0.1 and had no problems. I would recommend filing a bug against TopLink Essentials in case there is a known work-around.
    If you are using TopLink Essentials as a supported Oracle TopLink user please consider upgrading to Oracle TopLink 11g (includes EclipseLink) or if that is not possible please open a service request with Oracle support.
    Doug

  • JPA - generate orm.xml from existing JPA annotations

    Hi,
    Is there any tool which can be used to generate the orm.xml file from existing JPA java annotated source files?
    Thank you,
    Virgil

    Yes. Map some of the classes with JPA annotations or orm.xml, for the other leave them unmapped, and don't list them in your persistence.xml. Then in a SessionCustomizer you can load your native EclipseLink project.xml file using the XMLProjectReader, and then manually add the descriptors from the Project to the JPA EclipseLink Session using DatabaseSession.addDescriptors(Project).

  • NamedQuery in orm.xml

    Hi,
    I want to keep all my queries into orm.xml because I need to avoid select statements in my code. I got the following in my orm.xml:
         <named-query name="Person.basic">
              <query>SELECT p FROM Person p WHERE p.name LIKE :name</query>
         </named-query>
    And then I make the query:
         Query query = em.createNamedQuery("Person.basic");
    What I need now is to access the query string in order to add a dynamic condition. It would be something like this:
         String newQuery = query.getQueryString() + "AND p.surname LIKE :surname";
         Query q2 = em.createQuery(newQuery);
    Is there a way to do this? I know I can put this condition inside orm.xml, but what if the user fills a
    search form with different fields and different combinations?
    Regards

    at the beginning of your post, you said you didn't want sql queries in your code. but, then you ask how you can put queries in your code...?
    named queries cannot be modified at runtime. the point of them is to avoid hard coding sql queries into your code (as you mentioned). if you need to generate queries at runtime, named queries are not going to work for you.

  • Output Medium XML Requires HTTP/FTP address - Vendor Transm Medium Maintan

    Hi All,
    I am trying to change Transmission Medium as XML from PRN (Print) in Vendor Master (business partner mainatnance - BBPMAININT Tr CodE). My SRM System is giving is error message like u201COutput Medium XML Requires HTTP/FTP addressu201D when I am trying to change Vendor Master. Please let me know where I can Maintain HTTP/FTP Address in SRM.
    Kind Note: We are on SRM 4.0 and ECC 5.0 with Extended Classic Scenario
    Thanks a lot in advance.
    Thanks,
    Sudarsn

    Hi,
    Did you set communication protocol as XI ?
    http://help.sap.com/saphelp_srm40/helpdata/en/95/f6a93e08503614e10000000a114084/frameset.htm
    Regards,
    Masa

  • Mapping error: Character reference "&# 00" is an invalid XML character

    Hi All,
      Iam performing the RFC(R/3) -> PI(7.1) -> SOAP (third party software) ; Synchronous scenario.
    The messages are reaching the PI server , but the a mapping errors is occurring due to dummy characters ""& #00" been sent to the XI system.
    Is this due to the R/3 sending the invalid characters or these been generated in PI system. Would you suggest any notes,patches to resolve the issue?
    "MAPPING">EXCEPTION_DURING_EXECUTE
    com.sap.aii.utilxi.misc.api.BaseRuntimeException:
    Character reference "& # 00" is an invalid XML character
    Many thanks!
    guru

    Hi,
    If you go through this link last page and last para, which says..
    "The only solution is to use a Java mapping before the actual mapping to perform the escaping."
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/502991a2-45d9-2910-d99f-8aba5d79fb42
    Regards,
    Sarvesh

  • Generating orm.xml

    is there any tool to generate orm.xml ?
    Thanks..

    No, as far as I know. Most IDEs are focusing on annotations. However the next releases of Dali for Eclipse and JDeveloper will provide orm.xml creation and editing support. Dali 1.0 is scheduled to be released as part of the coordinated Europa Eclipse release in June of next year--but milestone builds will be available sooner. Check out http://www.eclipse.org/dali and the milestone plan available from the sidebar on the right. The JDeveloper release date has not been finalized.
    --Shaun                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Kodo extensions in orm.xml?

    I'm evaluating Kodo for use with JPA, but I would like to use externalized mapping files. These work fine for standard "to the spec" mappings, but I'd like to be able to use some of the Kodo-specific extensions (such as custom field handlers). Is this possible within an externalized JPA mapping file (e.g. orm.xml)? All of the docs that I have found for Kodo JPA use annotations.

    "Amol" <[email protected]> writes:
    I have been going thru mails in the newsgrp, for help in my work and I
    found a lot of extensions used (r they only kodo-specific). I have gone
    thru all of the documentation tht comes with 2.2 release but havent a
    documentation for this extensions. Where can i find them.The JDO standard defines a syntax for adding vendor-specific metadata to
    the JDO metadata files. So yes, the extensions that you are referring to
    are Kodo-specific.
    Most of our vendor extensions are used for controlling the
    object-relational mapping that Kodo performs.
    Look in the metadata and existing schema sections of the 2.2.2
    documentation for more information on possible extensions. The 2.2.3
    documentation is formatted slightly differently; it contains an appendix
    with a list of all extensions supported by Kodo.
    -Patrick
    Patrick Linskey [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • How to generate orm.xml

    Hi,
    I would like to know how to generate orm.xml, the mapping file for JPA. I am using jdev 10.1.3.0.4.
    Thanks in advance

    There is not yet any built in support for this.
    What I have been doing is configuring JDev to understand the orm.xml schema so that when editing the file with JDeveloper it can assist me on the available elements and attributes as well as a default structure.
    JDeveloper :: Tools -> Preferences -> XML Schema -> Add
    jar:file:/C:/oracle/10.1.3.1/preview/jdev/toplink/jlib/toplink-essentials.jar!/orm_1_0.xsd
    Now when you wish to create an orm XML instance document in your project you can use:
    New -> General -> XML -> XML Document from Schema
    Select "Use Registered Schema"
    Select the ORM target namespace: http://java.sun.com/xml/ns/persistence/orm
    This will give you a basic orm.xml file properly configured which you can then use to define your mappings.
    Doug

  • Generate of orm.xml from annotations

    Hi,
    How can a bunch of annotated classes (in JPA) can be processed so that an equivalent orm.xml is generated? The situation is like, I have many annotated Java files and I want to create equivalent orm.xml before the application is actually deployed in production.

    Hi,
    How can a bunch of annotated classes (in JPA) can be processed so that an equivalent orm.xml is generated? The situation is like, I have many annotated Java files and I want to create equivalent orm.xml before the application is actually deployed in production.

Maybe you are looking for