blob: 72a31df703232383d432665fff4d1b5d774ed134 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_06) on Wed Jul 19 14:45:49 EDT 2006 -->
<TITLE>
OraclePkGenerator (Apache Cayenne API Documentation - v.2.0-incubating-SNAPSHOT)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.cayenne.dba.oracle.OraclePkGenerator class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../apache-javadoc.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="OraclePkGenerator (Apache Cayenne API Documentation - v.2.0-incubating-SNAPSHOT)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/cayenne/dba/oracle/OracleDataNode.html" title="class in org.apache.cayenne.dba.oracle"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/cayenne/dba/oracle/OracleSelectTranslator.html" title="class in org.apache.cayenne.dba.oracle"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/cayenne/dba/oracle/OraclePkGenerator.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="OraclePkGenerator.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.cayenne.dba.JdbcPkGenerator">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.cayenne.dba.oracle</FONT>
<BR>
Class OraclePkGenerator</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba">org.apache.cayenne.dba.JdbcPkGenerator</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.cayenne.dba.oracle.OraclePkGenerator</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html" title="interface in org.apache.cayenne.dba">PkGenerator</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/apache/cayenne/dba/ingres/IngresPkGenerator.html" title="class in org.apache.cayenne.dba.ingres">IngresPkGenerator</A>, <A HREF="../../../../../org/apache/cayenne/dba/postgres/PostgresPkGenerator.html" title="class in org.apache.cayenne.dba.postgres">PostgresPkGenerator</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>OraclePkGenerator</B><DT>extends <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba">JdbcPkGenerator</A></DL>
</PRE>
<P>
Sequence-based primary key generator implementation for Oracle. Uses Oracle sequences
to generate primary key values. This approach is at least 50% faster when tested with
Oracle compared to the lookup table approach.
<p>
When using Cayenne key caching mechanism, make sure that sequences in the database have
"INCREMENT BY" greater or equal to OraclePkGenerator "pkCacheSize" property value. If
this is not the case, you will need to adjust PkGenerator value accordingly. For
example when sequence is incremented by 1 each time, use the following code:
</p>
<pre>
dataNode.getAdapter().getPkGenerator().setPkCacheSize(1);
</pre>
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD>Andrei Adamchik</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.cayenne.dba.JdbcPkGenerator"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.cayenne.dba.<A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba">JdbcPkGenerator</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#DEFAULT_PK_CACHE_SIZE">DEFAULT_PK_CACHE_SIZE</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#NEXT_ID">NEXT_ID</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#objDesc">objDesc</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#pkCache">pkCache</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#pkCacheSize">pkCacheSize</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#resultDesc">resultDesc</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#OraclePkGenerator()">OraclePkGenerator</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#createAutoPk(org.apache.cayenne.access.DataNode, java.util.List)">createAutoPk</A></B>(<A HREF="../../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</A>&nbsp;node,
java.util.List&nbsp;dbEntities)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generates necessary database objects to provide automatic primary key support.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#createAutoPkStatements(java.util.List)">createAutoPkStatements</A></B>(java.util.List&nbsp;dbEntities)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a list of SQL strings needed to generates database objects to provide
automatic primary support for the list of entities.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#createSequenceString(org.apache.cayenne.map.DbEntity)">createSequenceString</A></B>(<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;ent)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#dropAutoPk(org.apache.cayenne.access.DataNode, java.util.List)">dropAutoPk</A></B>(<A HREF="../../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</A>&nbsp;node,
java.util.List&nbsp;dbEntities)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drops table named "AUTO_PK_SUPPORT" if it exists in the database.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#dropAutoPkStatements(java.util.List)">dropAutoPkStatements</A></B>(java.util.List&nbsp;dbEntities)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns SQL string needed to drop database objects associated with automatic
primary key generation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#dropSequenceString(org.apache.cayenne.map.DbEntity)">dropSequenceString</A></B>(<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;ent)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a SQL string needed to drop any database objects associated with automatic
primary key generation process for a specific DbEntity.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#getExistingSequences(org.apache.cayenne.access.DataNode)">getExistingSequences</A></B>(<A HREF="../../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</A>&nbsp;node)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fetches a list of existing sequences that might match Cayenne generated ones.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#pkCacheSize(org.apache.cayenne.map.DbEntity)">pkCacheSize</A></B>(<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;entity)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#pkFromDatabase(org.apache.cayenne.access.DataNode, org.apache.cayenne.map.DbEntity)">pkFromDatabase</A></B>(<A HREF="../../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</A>&nbsp;node,
<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;ent)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generates primary key by calling Oracle sequence corresponding to the
<code>dbEntity</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#sequenceName(org.apache.cayenne.map.DbEntity)">sequenceName</A></B>(<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;entity)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns expected primary key sequence name for a DbEntity.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html#stripSchemaName(java.lang.String)">stripSchemaName</A></B>(java.lang.String&nbsp;sequenceName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.cayenne.dba.JdbcPkGenerator"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.cayenne.dba.<A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba">JdbcPkGenerator</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#autoPkTableExists(org.apache.cayenne.access.DataNode)">autoPkTableExists</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#binaryPK(org.apache.cayenne.map.DbEntity)">binaryPK</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#dropAutoPkString()">dropAutoPkString</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#generatePkForDbEntity(org.apache.cayenne.access.DataNode, org.apache.cayenne.map.DbEntity)">generatePkForDbEntity</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#generatePkForDbEntityString(org.apache.cayenne.map.DbEntity)">generatePkForDbEntityString</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#getPkCacheSize()">getPkCacheSize</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#pkCreateString(java.lang.String)">pkCreateString</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#pkDeleteString(java.util.List)">pkDeleteString</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#pkSelectString(java.lang.String)">pkSelectString</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#pkTableCreateString()">pkTableCreateString</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#pkUpdateString(java.lang.String)">pkUpdateString</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#reset()">reset</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#runUpdate(org.apache.cayenne.access.DataNode, java.lang.String)">runUpdate</A>, <A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#setPkCacheSize(int)">setPkCacheSize</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="OraclePkGenerator()"><!-- --></A><H3>
OraclePkGenerator</H3>
<PRE>
public <B>OraclePkGenerator</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="createAutoPk(org.apache.cayenne.access.DataNode, java.util.List)"><!-- --></A><H3>
createAutoPk</H3>
<PRE>
public void <B>createAutoPk</B>(<A HREF="../../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</A>&nbsp;node,
java.util.List&nbsp;dbEntities)
throws java.lang.Exception</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html#createAutoPk(org.apache.cayenne.access.DataNode, java.util.List)">PkGenerator</A></CODE></B></DD>
<DD>Generates necessary database objects to provide automatic primary key support.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html#createAutoPk(org.apache.cayenne.access.DataNode, java.util.List)">createAutoPk</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html" title="interface in org.apache.cayenne.dba">PkGenerator</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#createAutoPk(org.apache.cayenne.access.DataNode, java.util.List)">createAutoPk</A></CODE> in class <CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba">JdbcPkGenerator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>node</CODE> - node that provides access to a DataSource.<DD><CODE>dbEntities</CODE> - a list of entities that require primary key autogeneration
support
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="createAutoPkStatements(java.util.List)"><!-- --></A><H3>
createAutoPkStatements</H3>
<PRE>
public java.util.List <B>createAutoPkStatements</B>(java.util.List&nbsp;dbEntities)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html#createAutoPkStatements(java.util.List)">PkGenerator</A></CODE></B></DD>
<DD>Returns a list of SQL strings needed to generates database objects to provide
automatic primary support for the list of entities. No actual database operations
are performed.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html#createAutoPkStatements(java.util.List)">createAutoPkStatements</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html" title="interface in org.apache.cayenne.dba">PkGenerator</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#createAutoPkStatements(java.util.List)">createAutoPkStatements</A></CODE> in class <CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba">JdbcPkGenerator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="dropAutoPk(org.apache.cayenne.access.DataNode, java.util.List)"><!-- --></A><H3>
dropAutoPk</H3>
<PRE>
public void <B>dropAutoPk</B>(<A HREF="../../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</A>&nbsp;node,
java.util.List&nbsp;dbEntities)
throws java.lang.Exception</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#dropAutoPk(org.apache.cayenne.access.DataNode, java.util.List)">JdbcPkGenerator</A></CODE></B></DD>
<DD>Drops table named "AUTO_PK_SUPPORT" if it exists in the database.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html#dropAutoPk(org.apache.cayenne.access.DataNode, java.util.List)">dropAutoPk</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html" title="interface in org.apache.cayenne.dba">PkGenerator</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#dropAutoPk(org.apache.cayenne.access.DataNode, java.util.List)">dropAutoPk</A></CODE> in class <CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba">JdbcPkGenerator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>node</CODE> - node that provides access to a DataSource.<DD><CODE>dbEntities</CODE> - a list of entities whose primary key autogeneration support
should be dropped.
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="dropAutoPkStatements(java.util.List)"><!-- --></A><H3>
dropAutoPkStatements</H3>
<PRE>
public java.util.List <B>dropAutoPkStatements</B>(java.util.List&nbsp;dbEntities)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html#dropAutoPkStatements(java.util.List)">PkGenerator</A></CODE></B></DD>
<DD>Returns SQL string needed to drop database objects associated with automatic
primary key generation. No actual database operations are performed.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html#dropAutoPkStatements(java.util.List)">dropAutoPkStatements</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cayenne/dba/PkGenerator.html" title="interface in org.apache.cayenne.dba">PkGenerator</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#dropAutoPkStatements(java.util.List)">dropAutoPkStatements</A></CODE> in class <CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba">JdbcPkGenerator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="createSequenceString(org.apache.cayenne.map.DbEntity)"><!-- --></A><H3>
createSequenceString</H3>
<PRE>
protected java.lang.String <B>createSequenceString</B>(<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;ent)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="dropSequenceString(org.apache.cayenne.map.DbEntity)"><!-- --></A><H3>
dropSequenceString</H3>
<PRE>
protected java.lang.String <B>dropSequenceString</B>(<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;ent)</PRE>
<DL>
<DD>Returns a SQL string needed to drop any database objects associated with automatic
primary key generation process for a specific DbEntity.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="pkFromDatabase(org.apache.cayenne.access.DataNode, org.apache.cayenne.map.DbEntity)"><!-- --></A><H3>
pkFromDatabase</H3>
<PRE>
protected int <B>pkFromDatabase</B>(<A HREF="../../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</A>&nbsp;node,
<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;ent)
throws java.lang.Exception</PRE>
<DL>
<DD>Generates primary key by calling Oracle sequence corresponding to the
<code>dbEntity</code>. Executed SQL looks like this:
<pre>
SELECT pk_table_name.nextval FROM DUAL
</pre>
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html#pkFromDatabase(org.apache.cayenne.access.DataNode, org.apache.cayenne.map.DbEntity)">pkFromDatabase</A></CODE> in class <CODE><A HREF="../../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba">JdbcPkGenerator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="pkCacheSize(org.apache.cayenne.map.DbEntity)"><!-- --></A><H3>
pkCacheSize</H3>
<PRE>
protected int <B>pkCacheSize</B>(<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;entity)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="sequenceName(org.apache.cayenne.map.DbEntity)"><!-- --></A><H3>
sequenceName</H3>
<PRE>
protected java.lang.String <B>sequenceName</B>(<A HREF="../../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</A>&nbsp;entity)</PRE>
<DL>
<DD>Returns expected primary key sequence name for a DbEntity.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="stripSchemaName(java.lang.String)"><!-- --></A><H3>
stripSchemaName</H3>
<PRE>
protected java.lang.String <B>stripSchemaName</B>(java.lang.String&nbsp;sequenceName)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getExistingSequences(org.apache.cayenne.access.DataNode)"><!-- --></A><H3>
getExistingSequences</H3>
<PRE>
protected java.util.List <B>getExistingSequences</B>(<A HREF="../../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</A>&nbsp;node)
throws java.sql.SQLException</PRE>
<DL>
<DD>Fetches a list of existing sequences that might match Cayenne generated ones.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.sql.SQLException</CODE></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/cayenne/dba/oracle/OracleDataNode.html" title="class in org.apache.cayenne.dba.oracle"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/cayenne/dba/oracle/OracleSelectTranslator.html" title="class in org.apache.cayenne.dba.oracle"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/cayenne/dba/oracle/OraclePkGenerator.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="OraclePkGenerator.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.cayenne.dba.JdbcPkGenerator">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<i>Copyright &#169; 2001-2006 <a href=
"http://apache.org" target="_top">Apache.org</a> All Rights Reserved.</i>
</BODY>
</HTML>