org.eclipse.persistence.dbws.DBWSModel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eclipselink Show documentation
Show all versions of eclipselink Show documentation
EclipseLink build based upon Git transaction f2b9fc5
The newest version!
/*
* Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.dbws;
// Javase imports
// Java extension imports
// EclipseLink imports
import org.eclipse.persistence.internal.xr.XRServiceAdapter;
import org.eclipse.persistence.internal.xr.XRServiceModel;
/**
* PUBLIC: model object for eclipselink-dbws.xml descriptor file. A DBWS (also known as
* an {@link 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 {@link org.eclipse.persistence.sessions.Project 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 {@link org.eclipse.persistence.descriptors.ClassDescriptor 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 - [email protected]
* @since EclipseLink 1.0
*/
public class DBWSModel extends XRServiceModel {
}