org.eclipse.persistence.dbws.DBWSModel Maven / Gradle / Ivy
/*
* Copyright (c) 1998, 2018 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 {
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy