Class DBWSModel


  • public class DBWSModel
    extends org.eclipse.persistence.internal.xr.XRServiceModel

    PUBLIC: model object for eclipselink-dbws.xml descriptor file. A DBWS (also known as an XRServiceAdapter) requires the following resources:

    • metadata in the form of a descriptor file called eclipselink-dbws.xml in the META-INF/ directory
      (inside a .jar file, as an external 'exploded' directory on the classpath
      or in the WEB-INF/classes/META-INF/ directory inside a .war file).
    • an XML Schema Definition (.xsd) file called eclipselink-dbws-schema.xsd
      located at the root directory of a .jar file, at the root of the first directory on the
      classpath or in the WEB-INF/wsdl/ directory of a .war file
    • an EclipseLink sessions.xml file called eclipselink-dbws-sessions.xml (in the META-INF/ directory)
        the naming convention for the sessions.xml files can be overridden by the
      optional <sessions-file> entry in the eclipselink-dbws.xml descriptor file.
    • EclipseLink metadata in the form of a EclipseLink Project (either deployment XML located
      in the META-INF/ directory or Java classes on the classpath or in the
      WEB-INF/classes directory inside a .war file).
       

      A typical DBWS requires two projects: one to represent the O-R side, the other to represent the O-X side.
      The O-R and O-X Projects metadata must have:
      i) identical case-sensitive Project names:

       <?xml version="1.0" encoding="UTF-8"?>
       <eclipselink:object-persistence version="Eclipse Persistence Services ..."
         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:eclipselink="http://xmlns.oracle.com/ias/xsds/eclipselink"
         >
         <eclipselink:name>example</eclipselink:name>
       or
       ...
       import org.eclipse.persistence.sessions.Project;
       public class SomeORProject extends Project {
         public SomeORProject () {
           setName("Example");
           ...
       }
       public class SomeOXProject extends Project {
         public SomeOXProject () {
           setName("Example");
           ...
       }
       
      ii) identical case-sensitive aliases for Descriptors that are common between the projects:
       <eclipselink:class-mapping-descriptor xsi:type="eclipselink:relational-class-mapping-descriptor">
         <eclipselink:class>some.package.SomeClass</eclipselink:class>
         <eclipselink:alias>SomeAlias</eclipselink:alias>
       ...
       <eclipselink:class-mapping-descriptor xsi:type="eclipselink:xml-class-mapping-descriptor">
         <eclipselink:class>some.package.SomeClass</eclipselink:class>
         <eclipselink:alias>SomeAlias</eclipselink:alias>
       
    An example eclipselink-dbws.xml descriptor file:
     <?xml version="1.0" encoding="UTF-8"?>
     <dbws
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       >
       <name>example</name>
       <sessions-file>example-dbws-sessions.xml</sessions-file>
       <query>
         <name>countEmployees</name>
         <result>
           <type>xsd:int</type>
           <simple-xml-format>
             <simple-xml-format-tag>employee-info</simple-xml-format-tag>
             <simple-xml-tag>aggregate-info</simple-xml-tag>
           </simple-xml-format>
         </result>
         <sql><![CDATA[select count(*) from EMP]]></sql>
       </query>
       <query>
         <name>findAllEmployees</name>
         <result isCollection="true">
           <type>empType</type>
         </result>
         <sql><![CDATA[select * from EMP]]></sql>
       </query>
     </dbws>
     
    Author:
    Mike Norman - michael.norman@oracle.com
    Since:
    EclipseLink 1.0
    • Field Summary

      • Fields inherited from class org.eclipse.persistence.internal.xr.XRServiceModel

        name, operations, sessionsFile
    • Constructor Summary

      Constructors 
      Constructor Description
      DBWSModel()  
    • Method Summary

      • Methods inherited from class org.eclipse.persistence.internal.xr.XRServiceModel

        getName, getOperation, getOperations, getOperationsList, getSessionsFile, setName, setOperations, setSessionsFile
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DBWSModel

        public DBWSModel()