Added some sections to the manual
This commit is contained in:
parent
b55d99bb0c
commit
13943d1fbc
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/CONNECTBY/">The Oracle CONNECT BY clause for hierarchical queries</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/OracleHints/" title="Adding Oracle hints to queries">previous</a> : <a href="<?=$root?>/manual/ADVANCED/Export/" title="Exporting data to XML, CSV, JSON, HTML, Text">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/CONNECTBY/">The Oracle CONNECT BY clause for hierarchical queries</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/OracleHints/" title="Previous section: Adding Oracle hints to queries">previous</a> : <a href="<?=$root?>/manual/ADVANCED/Export/" title="Next section: Exporting data to XML, CSV, JSON, HTML, Text">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/Export/">Exporting data to XML, CSV, JSON, HTML, Text</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/CONNECTBY/" title="The Oracle CONNECT BY clause for hierarchical queries">previous</a> : <a href="<?=$root?>/manual/ADVANCED/Import/" title="Importing data from XML, CSV">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/Export/">Exporting data to XML, CSV, JSON, HTML, Text</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/CONNECTBY/" title="Previous section: The Oracle CONNECT BY clause for hierarchical queries">previous</a> : <a href="<?=$root?>/manual/ADVANCED/Import/" title="Next section: Importing data from XML, CSV">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/Import/">Importing data from XML, CSV</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/Export/" title="Exporting data to XML, CSV, JSON, HTML, Text">previous</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/Import/">Importing data from XML, CSV</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/Export/" title="Previous section: Exporting data to XML, CSV, JSON, HTML, Text">previous</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/MasterData/">Master data generation</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/" title="Advanced topics">previous</a> : <a href="<?=$root?>/manual/ADVANCED/SchemaMapping/" title="Mapping generated schemata and tables to productive environments">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/MasterData/">Master data generation</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/" title="Previous section: Advanced topics">previous</a> : <a href="<?=$root?>/manual/ADVANCED/SchemaMapping/" title="Next section: Mapping generated schemata and tables to productive environments">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/OracleHints/">Adding Oracle hints to queries</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/SchemaMapping/" title="Mapping generated schemata and tables to productive environments">previous</a> : <a href="<?=$root?>/manual/ADVANCED/CONNECTBY/" title="The Oracle CONNECT BY clause for hierarchical queries">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/OracleHints/">Adding Oracle hints to queries</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/SchemaMapping/" title="Previous section: Mapping generated schemata and tables to productive environments">previous</a> : <a href="<?=$root?>/manual/ADVANCED/CONNECTBY/" title="Next section: The Oracle CONNECT BY clause for hierarchical queries">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/SchemaMapping/">Mapping generated schemata and tables to productive environments</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/MasterData/" title="Master data generation">previous</a> : <a href="<?=$root?>/manual/ADVANCED/OracleHints/" title="Adding Oracle hints to queries">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/SchemaMapping/">Mapping generated schemata and tables to productive environments</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/MasterData/" title="Previous section: Master data generation">previous</a> : <a href="<?=$root?>/manual/ADVANCED/OracleHints/" title="Next section: Adding Oracle hints to queries">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/ALIAS/">Aliased tables and fields</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/CONDITION/" title="Conditions">previous</a> : <a href="<?=$root?>/manual/DSL/IN/" title="Nested select statements using the IN operator">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/ALIAS/">Aliased tables and fields</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/CONDITION/" title="Previous section: Conditions">previous</a> : <a href="<?=$root?>/manual/DSL/IN/" title="Next section: Nested select statements using the IN operator">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/ARITHMETIC/">Arithmetic operations</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/PROCEDURES/" title="Stored procedures and functions">previous</a> : <a href="<?=$root?>/manual/DSL/CASE/" title="The CASE clause">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/ARITHMETIC/">Arithmetic operations</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/PROCEDURES/" title="Previous section: Stored procedures and functions">previous</a> : <a href="<?=$root?>/manual/DSL/CASE/" title="Next section: The CASE clause">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/CASE/">The CASE clause</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/ARITHMETIC/" title="Arithmetic operations">previous</a> : <a href="<?=$root?>/manual/DSL/CAST/" title="Type casting">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/CASE/">The CASE clause</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/ARITHMETIC/" title="Previous section: Arithmetic operations">previous</a> : <a href="<?=$root?>/manual/DSL/CAST/" title="Next section: Type casting">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/CAST/">Type casting</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/CASE/" title="The CASE clause">previous</a> : <a href="<?=$root?>/manual/DSL/SQL/" title="When it's just much easier: Plain SQL">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/CAST/">Type casting</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/CASE/" title="Previous section: The CASE clause">previous</a> : <a href="<?=$root?>/manual/DSL/SQL/" title="Next section: When it's just much easier: Plain SQL">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/CONDITION/">Conditions</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/SELECT/" title="Complete SELECT syntax">previous</a> : <a href="<?=$root?>/manual/DSL/ALIAS/" title="Aliased tables and fields">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/CONDITION/">Conditions</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/SELECT/" title="Previous section: Complete SELECT syntax">previous</a> : <a href="<?=$root?>/manual/DSL/ALIAS/" title="Next section: Aliased tables and fields">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/EXISTS/">Nested select statements using the EXISTS operator</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/IN/" title="Nested select statements using the IN operator">previous</a> : <a href="<?=$root?>/manual/DSL/NESTED/" title="Other types of nested selects">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/EXISTS/">Nested select statements using the EXISTS operator</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/IN/" title="Previous section: Nested select statements using the IN operator">previous</a> : <a href="<?=$root?>/manual/DSL/NESTED/" title="Next section: Other types of nested selects">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/FUNCTIONS/">Functions, aggregate operators, and window functions</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/UNION/" title="UNION and other set operations">previous</a> : <a href="<?=$root?>/manual/DSL/PROCEDURES/" title="Stored procedures and functions">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/FUNCTIONS/">Functions, aggregate operators, and window functions</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/UNION/" title="Previous section: UNION and other set operations">previous</a> : <a href="<?=$root?>/manual/DSL/PROCEDURES/" title="Next section: Stored procedures and functions">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/IN/">Nested select statements using the IN operator</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/ALIAS/" title="Aliased tables and fields">previous</a> : <a href="<?=$root?>/manual/DSL/EXISTS/" title="Nested select statements using the EXISTS operator">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/IN/">Nested select statements using the IN operator</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/ALIAS/" title="Previous section: Aliased tables and fields">previous</a> : <a href="<?=$root?>/manual/DSL/EXISTS/" title="Next section: Nested select statements using the EXISTS operator">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/NESTED/">Other types of nested selects</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/EXISTS/" title="Nested select statements using the EXISTS operator">previous</a> : <a href="<?=$root?>/manual/DSL/UNION/" title="UNION and other set operations">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/NESTED/">Other types of nested selects</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/EXISTS/" title="Previous section: Nested select statements using the EXISTS operator">previous</a> : <a href="<?=$root?>/manual/DSL/UNION/" title="Next section: UNION and other set operations">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/PROCEDURES/">Stored procedures and functions</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/FUNCTIONS/" title="Functions, aggregate operators, and window functions">previous</a> : <a href="<?=$root?>/manual/DSL/ARITHMETIC/" title="Arithmetic operations">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/PROCEDURES/">Stored procedures and functions</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/FUNCTIONS/" title="Previous section: Functions, aggregate operators, and window functions">previous</a> : <a href="<?=$root?>/manual/DSL/ARITHMETIC/" title="Next section: Arithmetic operations">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/SELECT/">Complete SELECT syntax</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/" title="DSL or fluent API">previous</a> : <a href="<?=$root?>/manual/DSL/CONDITION/" title="Conditions">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/SELECT/">Complete SELECT syntax</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/" title="Previous section: DSL or fluent API">previous</a> : <a href="<?=$root?>/manual/DSL/CONDITION/" title="Next section: Conditions">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/SQL/">When it's just much easier: Plain SQL</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/CAST/" title="Type casting">previous</a> : <a href="<?=$root?>/manual/ADVANCED/" title="Advanced topics">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/SQL/">When it's just much easier: Plain SQL</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/CAST/" title="Previous section: Type casting">previous</a> : <a href="<?=$root?>/manual/ADVANCED/" title="Next section: Advanced topics">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/UNION/">UNION and other set operations</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/NESTED/" title="Other types of nested selects">previous</a> : <a href="<?=$root?>/manual/DSL/FUNCTIONS/" title="Functions, aggregate operators, and window functions">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/UNION/">UNION and other set operations</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/NESTED/" title="Previous section: Other types of nested selects">previous</a> : <a href="<?=$root?>/manual/DSL/FUNCTIONS/" title="Next section: Functions, aggregate operators, and window functions">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/SEQUENCE/" title="Sequences">previous</a> : <a href="<?=$root?>/manual/DSL/SELECT/" title="Complete SELECT syntax">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/SEQUENCE/" title="Previous section: Sequences">previous</a> : <a href="<?=$root?>/manual/DSL/SELECT/" title="Next section: Complete SELECT syntax">next</a></td>
|
||||
</tr>
|
||||
</table><h3>Table of contents</h3><ol>
|
||||
<li>
|
||||
|
||||
@ -18,7 +18,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/ExampleDatabase/">The example database</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/" title="jOOQ classes and their usage">previous</a> : <a href="<?=$root?>/manual/JOOQ/Factory/" title="The Factory class">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/ExampleDatabase/">The example database</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/" title="Previous section: jOOQ classes and their usage">previous</a> : <a href="<?=$root?>/manual/JOOQ/Factory/" title="Next section: The Factory class">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2>Example CREATE TABLE statements</h2>
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Extend/">Extend jOOQ types with custom implementations</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Serializability/" title="Serializability of QueryParts and Results">previous</a> : <a href="<?=$root?>/manual/META/" title="Meta model code generation">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Extend/">Extend jOOQ types with custom implementations</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Serializability/" title="Previous section: Serializability of QueryParts and Results">previous</a> : <a href="<?=$root?>/manual/META/" title="Next section: Meta model code generation">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -19,7 +19,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Factory/">The Factory class</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/ExampleDatabase/" title="The example database">previous</a> : <a href="<?=$root?>/manual/JOOQ/Table/" title="Tables and Fields">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Factory/">The Factory class</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/ExampleDatabase/" title="Previous section: The example database">previous</a> : <a href="<?=$root?>/manual/JOOQ/Table/" title="Next section: Tables and Fields">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2>The Factory and the jOOQ API</h2>
|
||||
@ -37,27 +37,27 @@ function printContent() {
|
||||
|
||||
</ul>
|
||||
<p>
|
||||
The <a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/impl/Factory.java">org.jooq.impl.Factory</a>
|
||||
The <a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/impl/Factory.java" title="Internal API reference: org.jooq.impl.Factory">org.jooq.impl.Factory</a>
|
||||
class is the main class from where you will create all jOOQ objects.
|
||||
The Factory implements <a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/Configuration.java">org.jooq.Configuration</a>
|
||||
The Factory implements <a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/Configuration.java" title="Internal API reference: org.jooq.Configuration">org.jooq.Configuration</a>
|
||||
and needs to be instanciated with the Configuration's properties:
|
||||
</p>
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/SQLDialect.java">org.jooq.SQLDialect</a> :
|
||||
<a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/SQLDialect.java" title="Internal API reference: org.jooq.SQLDialect">org.jooq.SQLDialect</a> :
|
||||
The dialect of your database. This may be any of the currently
|
||||
supported database types</li>
|
||||
|
||||
<li>
|
||||
<a href="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html">java.sql.Connection</a> :
|
||||
<a href="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html" title="External API reference: java.sql.Connection">java.sql.Connection</a> :
|
||||
A JDBC Connection that will be re-used for the whole
|
||||
lifecycle of your Factory</li>
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/SchemaMapping.java">org.jooq.SchemaMapping</a> :
|
||||
<a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/SchemaMapping.java" title="Internal API reference: org.jooq.SchemaMapping">org.jooq.SchemaMapping</a> :
|
||||
An optional mapping of schemata. Check out the
|
||||
<a href="<?=$root?>/manual/ADVANCED/SchemaMapping/">SchemaMapping</a>
|
||||
<a href="<?=$root?>/manual/ADVANCED/SchemaMapping/" title="jOOQ Manual reference: Mapping generated schemata and tables to productive environments">SchemaMapping</a>
|
||||
page for details</li>
|
||||
|
||||
</ul>
|
||||
@ -86,7 +86,7 @@ MySQLFactory create = new MySQLFactory(connection);
|
||||
</p>
|
||||
<ul>
|
||||
|
||||
<li>Oracle's <a href="<?=$root?>/manual/ADVANCED/CONNECTBY/">CONNECT BY</a>
|
||||
<li>Oracle's <a href="<?=$root?>/manual/ADVANCED/CONNECTBY/" title="jOOQ Manual reference: The Oracle CONNECT BY clause for hierarchical queries">CONNECT BY</a>
|
||||
pseudo columns and functions</li>
|
||||
|
||||
<li>MySQL's encryption functions</li>
|
||||
@ -104,10 +104,10 @@ MySQLFactory create = new MySQLFactory(connection);
|
||||
<h3>Potential problems</h3>
|
||||
<p>
|
||||
The jOOQ Factory expects its underlying
|
||||
<a href="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html">java.sql.Connection</a>
|
||||
<a href="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html" title="External API reference: java.sql.Connection">java.sql.Connection</a>
|
||||
to be <strong>open and ready</strong>
|
||||
for
|
||||
<a href="http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html">java.sql.PreparedStatement</a>
|
||||
<a href="http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html" title="External API reference: java.sql.PreparedStatement">java.sql.PreparedStatement</a>
|
||||
creation. You are responsible yourself for the
|
||||
lifecycle dependency between Factory and Connection. This means:
|
||||
</p>
|
||||
@ -116,7 +116,7 @@ MySQLFactory create = new MySQLFactory(connection);
|
||||
<li>jOOQ will never close the Connection.</li>
|
||||
|
||||
<li>jOOQ will never commit or rollback on the Connection
|
||||
(Except for CSV-imports, if explicitly configured in the <a href="<?=$root?>/manual/ADVANCED/Import/">Import API</a>)</li>
|
||||
(Except for CSV-imports, if explicitly configured in the <a href="<?=$root?>/manual/ADVANCED/Import/" title="jOOQ Manual reference: Importing data from XML, CSV">Import API</a>)</li>
|
||||
|
||||
<li>jOOQ will never start any transactions.</li>
|
||||
|
||||
@ -144,7 +144,7 @@ MySQLFactory create = new MySQLFactory(connection);
|
||||
<p>
|
||||
Please keep in mind that many jOOQ objects will reference your Factory
|
||||
for their whole lifecycle. This is especially interesting, when dealing
|
||||
with <a href="<?=$root?>/manual/JOOQ/UpdatableRecord/">Updatable Records</a>,
|
||||
with <a href="<?=$root?>/manual/JOOQ/UpdatableRecord/" title="jOOQ Manual reference: Updatable Records">Updatable Records</a>,
|
||||
that can perform CRUD operations on the
|
||||
Factory's underlying Connection.
|
||||
</p>
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Query/">Query and its subtypes</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/UpdatableRecord/" title="Updatable Records">previous</a> : <a href="<?=$root?>/manual/JOOQ/ResultQuery/" title="ResultQuery and various ways of fetching data">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Query/">Query and its subtypes</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/UpdatableRecord/" title="Previous section: Updatable Records">previous</a> : <a href="<?=$root?>/manual/JOOQ/ResultQuery/" title="Next section: ResultQuery and various ways of fetching data">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/QueryPart/">QueryParts and the global architecture</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/ResultQuery/" title="ResultQuery and various ways of fetching data">previous</a> : <a href="<?=$root?>/manual/JOOQ/Serializability/" title="Serializability of QueryParts and Results">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/QueryPart/">QueryParts and the global architecture</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/ResultQuery/" title="Previous section: ResultQuery and various ways of fetching data">previous</a> : <a href="<?=$root?>/manual/JOOQ/Serializability/" title="Next section: Serializability of QueryParts and Results">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Result/">Results and Records</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Table/" title="Tables and Fields">previous</a> : <a href="<?=$root?>/manual/JOOQ/UpdatableRecord/" title="Updatable Records">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Result/">Results and Records</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Table/" title="Previous section: Tables and Fields">previous</a> : <a href="<?=$root?>/manual/JOOQ/UpdatableRecord/" title="Next section: Updatable Records">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/ResultQuery/">ResultQuery and various ways of fetching data</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Query/" title="Query and its subtypes">previous</a> : <a href="<?=$root?>/manual/JOOQ/QueryPart/" title="QueryParts and the global architecture">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/ResultQuery/">ResultQuery and various ways of fetching data</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Query/" title="Previous section: Query and its subtypes">previous</a> : <a href="<?=$root?>/manual/JOOQ/QueryPart/" title="Next section: QueryParts and the global architecture">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Serializability/">Serializability of QueryParts and Results</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/QueryPart/" title="QueryParts and the global architecture">previous</a> : <a href="<?=$root?>/manual/JOOQ/Extend/" title="Extend jOOQ types with custom implementations">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Serializability/">Serializability of QueryParts and Results</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/QueryPart/" title="Previous section: QueryParts and the global architecture">previous</a> : <a href="<?=$root?>/manual/JOOQ/Extend/" title="Next section: Extend jOOQ types with custom implementations">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -7,17 +7,143 @@ function printH1() {
|
||||
print "Tables and Fields";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
return "
|
||||
Tables and their Fields are probably the most important objects in
|
||||
jOOQ. Tables represent any entity in your underlying RDBMS, that holds
|
||||
data for selection, insertion, updates, and deletion. In other words,
|
||||
views are also considered tables by jOOQ.
|
||||
";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Table/">Tables and Fields</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Factory/" title="The Factory class">previous</a> : <a href="<?=$root?>/manual/JOOQ/Result/" title="Results and Records">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Table/">Tables and Fields</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Factory/" title="Previous section: The Factory class">previous</a> : <a href="<?=$root?>/manual/JOOQ/Result/" title="Next section: Results and Records">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</table>
|
||||
<h2>The Table</h2>
|
||||
<p>The formal definition of a <a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/Table.java" title="Internal API reference: org.jooq.Table">org.jooq.Table</a> starts with </p>
|
||||
<pre class="prettyprint lang-java">public interface Table<R extends Record> // [...]</pre>
|
||||
<p>
|
||||
This means that every table is associated with a subtype of the
|
||||
<a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/Record.java" title="Internal API reference: org.jooq.Record">org.jooq.Record</a>
|
||||
class (see also
|
||||
<a href="<?=$root?>/manual/JOOQ/Result/" title="jOOQ Manual reference: Results and Records">Results and Records</a>
|
||||
). For anonymous or ad-hoc tables,
|
||||
<R> will always bind to Record itself.
|
||||
</p>
|
||||
<p>
|
||||
Unlike in the
|
||||
<a href="http://download.oracle.com/javaee/6/tutorial/doc/gjitv.html" title="Tutorial about JPA CriteriaQuery">JPA CriteriaQuery API</a>,
|
||||
this generic type
|
||||
<R>
|
||||
is not given so much importance as far as
|
||||
type-safety is concerned.
|
||||
SQL itself is inherently type-unsafe. But then
|
||||
again, you have
|
||||
incredible flexibility of creating anonymous or ad-hoc
|
||||
types and
|
||||
reusing them from
|
||||
<a href="<?=$root?>/manual/DSL/NESTED/" title="jOOQ Manual reference: Other types of nested selects">NESTED SELECT statements</a>
|
||||
or from many other
|
||||
use-cases. If
|
||||
<R> would play a role as important
|
||||
as in JPA, jOOQ
|
||||
would suffer from
|
||||
the same verbosity, or inflexibility
|
||||
that JPA
|
||||
CriteriaQueries may
|
||||
have.
|
||||
</p>
|
||||
|
||||
<h2>The Field</h2>
|
||||
<p>The formal definition of a Field starts with </p>
|
||||
<pre class="prettyprint lang-java">public interface Field<T> // [...]</pre>
|
||||
<p>
|
||||
Fields are generically parameterised with a Java type
|
||||
<T>
|
||||
that reflects the closest match to the RDMBS's underlying datatype for that
|
||||
field. For instance, if you have a VARCHAR2 type Field in Oracle,
|
||||
<T>
|
||||
would bind to
|
||||
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/String.html" title="External API reference: java.lang.String">java.lang.String</a>
|
||||
for that Field in jOOQ. Oracle's NUMBER(7) would
|
||||
let
|
||||
<T>
|
||||
bind to
|
||||
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html" title="External API reference: java.lang.Integer">java.lang.Integer</a>,
|
||||
etc. This generic type is useful for two purposes:
|
||||
</p>
|
||||
<ul>
|
||||
|
||||
<li>It allows you to write type safe queries. For instance, you cannot
|
||||
compare Field
|
||||
<String>
|
||||
with Field
|
||||
<Integer></li>
|
||||
|
||||
|
||||
<li>It
|
||||
allows you to fetch correctly cast and converted values from
|
||||
your database result set. This is especially useful when <T> binds
|
||||
to
|
||||
advanced data types, such as
|
||||
<a href="<?=$root?>/manual/META/UDT/" title="jOOQ Manual reference: UDT's including ARRAY and ENUM types">UDT's, ARRAY or ENUM types</a>
|
||||
, where jOOQ
|
||||
does the difficult non-standardised JDBC data type conversions for you.
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Fields and tables put into action</h2>
|
||||
<p>The Field itself is a very broad concept. Other tools, or databases
|
||||
refer to it as expression or column. When you just want to </p>
|
||||
|
||||
<pre class="prettyprint lang-sql">SELECT 1 FROM DUAL</pre>
|
||||
<p>
|
||||
Then 1 is considered a Field or more explicitly, a
|
||||
<a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/impl/Constant.java" title="Internal API reference: org.jooq.impl.Constant">org.jooq.impl.Constant</a>,
|
||||
which implements Field, and DUAL is considered a Table or more explicitly
|
||||
<a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/impl/Dual.java" title="Internal API reference: org.jooq.impl.Dual">org.jooq.impl.Dual</a>, which implements Table
|
||||
</p>
|
||||
<p>
|
||||
More advanced uses become clear quickly, when you do things like
|
||||
</p>
|
||||
<pre class="prettyprint lang-sql">SELECT 1 + 1 FROM DUAL</pre>
|
||||
<p>
|
||||
Where 1 + 1 itself is a Field or more explicitly, an
|
||||
<a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/impl/Expression.java" title="Internal API reference: org.jooq.impl.Expression">org.jooq.impl.Expression</a>
|
||||
joining two Constants together.
|
||||
</p>
|
||||
<p>
|
||||
See some details about how to create these queries in the
|
||||
<a href="<?=$root?>/manual/JOOQ/Query/" title="jOOQ Manual reference: Query and its subtypes">Query section</a> of the manual
|
||||
</p>
|
||||
|
||||
<h2>TableFields</h2>
|
||||
<p>
|
||||
A specific type of field is the
|
||||
<a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/TableField.java" title="Internal API reference: org.jooq.TableField">org.jooq.TableField</a>,
|
||||
which represents a physical
|
||||
Field in a physical Table. Both the
|
||||
TableField and its referenced Table
|
||||
know each other. The physical aspect
|
||||
of their nature is represented in
|
||||
jOOQ by
|
||||
<a href="<?=$root?>/manual/META/TABLE/" title="jOOQ Manual reference: Tables and views and their corresponding records">meta model code generation</a>,
|
||||
where every entity in your database
|
||||
schema will be generated into a
|
||||
corresponding Java class.
|
||||
</p>
|
||||
<p>
|
||||
TableFields join both <R> and <T> generic parameters into their specification:
|
||||
</p>
|
||||
<pre class="prettyprint lang-java">public interface TableField<R extends Record, T> // [...]</pre>
|
||||
<p>
|
||||
This can be used for additional type safety in the future, or by client code.
|
||||
</p>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/UpdatableRecord/">Updatable Records</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Result/" title="Results and Records">previous</a> : <a href="<?=$root?>/manual/JOOQ/Query/" title="Query and its subtypes">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/UpdatableRecord/">Updatable Records</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Result/" title="Previous section: Results and Records">previous</a> : <a href="<?=$root?>/manual/JOOQ/Query/" title="Next section: Query and its subtypes">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -18,7 +18,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/" title="The jOOQ User Manual">previous</a> : <a href="<?=$root?>/manual/JOOQ/ExampleDatabase/" title="The example database">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/" title="Previous section: The jOOQ User Manual">previous</a> : <a href="<?=$root?>/manual/JOOQ/ExampleDatabase/" title="Next section: The example database">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2>Overview</h2>
|
||||
@ -31,7 +31,7 @@ function printContent() {
|
||||
|
||||
<li>org.jooq.impl: the jOOQ implementation and factories. Most
|
||||
implementation classes are package private, you can only access
|
||||
them using the <a href="<?=$root?>/manual/JOOQ/Factory/">org.jooq.impl.Factory</a>
|
||||
them using the <a href="<?=$root?>/manual/JOOQ/Factory/" title="jOOQ Manual reference: The Factory class">org.jooq.impl.Factory</a>
|
||||
|
||||
</li>
|
||||
|
||||
@ -39,7 +39,7 @@ function printContent() {
|
||||
<p>
|
||||
This section is about the main jOOQ classes and the global
|
||||
architecture. Most of the time, however, you will be using the
|
||||
<a href="<?=$root?>/manual/DSL/">DSL or fluent API</a>
|
||||
<a href="<?=$root?>/manual/DSL/" title="jOOQ Manual reference: DSL or fluent API">DSL or fluent API</a>
|
||||
in order to create queries
|
||||
the way you're used to in SQL
|
||||
</p>
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/Configuration/">Configuration and setup</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/" title="Meta model code generation">previous</a> : <a href="<?=$root?>/manual/META/SCHEMA/" title="Schemata">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/Configuration/">Configuration and setup</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/" title="Previous section: Meta model code generation">previous</a> : <a href="<?=$root?>/manual/META/SCHEMA/" title="Next section: Schemata">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/PROCEDURE/">Procedures and packages</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/TABLE/" title="Tables and views and their corresponding records">previous</a> : <a href="<?=$root?>/manual/META/UDT/" title="UDT's including ARRAY and ENUM types">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/PROCEDURE/">Procedures and packages</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/TABLE/" title="Previous section: Tables and views and their corresponding records">previous</a> : <a href="<?=$root?>/manual/META/UDT/" title="Next section: UDT's including ARRAY and ENUM types">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/SCHEMA/">Schemata</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/Configuration/" title="Configuration and setup">previous</a> : <a href="<?=$root?>/manual/META/TABLE/" title="Tables and views and their corresponding records">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/SCHEMA/">Schemata</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/Configuration/" title="Previous section: Configuration and setup">previous</a> : <a href="<?=$root?>/manual/META/TABLE/" title="Next section: Tables and views and their corresponding records">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/SEQUENCE/">Sequences</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/UDT/" title="UDT's including ARRAY and ENUM types">previous</a> : <a href="<?=$root?>/manual/DSL/" title="DSL or fluent API">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/SEQUENCE/">Sequences</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/UDT/" title="Previous section: UDT's including ARRAY and ENUM types">previous</a> : <a href="<?=$root?>/manual/DSL/" title="Next section: DSL or fluent API">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/TABLE/">Tables and views and their corresponding records</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/SCHEMA/" title="Schemata">previous</a> : <a href="<?=$root?>/manual/META/PROCEDURE/" title="Procedures and packages">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/TABLE/">Tables and views and their corresponding records</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/SCHEMA/" title="Previous section: Schemata">previous</a> : <a href="<?=$root?>/manual/META/PROCEDURE/" title="Next section: Procedures and packages">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/UDT/">UDT's including ARRAY and ENUM types</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/PROCEDURE/" title="Procedures and packages">previous</a> : <a href="<?=$root?>/manual/META/SEQUENCE/" title="Sequences">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/UDT/">UDT's including ARRAY and ENUM types</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/PROCEDURE/" title="Previous section: Procedures and packages">previous</a> : <a href="<?=$root?>/manual/META/SEQUENCE/" title="Next section: Sequences">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -14,7 +14,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Extend/" title="Extend jOOQ types with custom implementations">previous</a> : <a href="<?=$root?>/manual/META/Configuration/" title="Configuration and setup">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Extend/" title="Previous section: Extend jOOQ types with custom implementations">previous</a> : <a href="<?=$root?>/manual/META/Configuration/" title="Next section: Configuration and setup">next</a></td>
|
||||
</tr>
|
||||
</table><h3>Table of contents</h3><ol>
|
||||
<li>
|
||||
|
||||
@ -16,7 +16,7 @@ function printContent() {
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/" title="jOOQ classes and their usage">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/" title="Next section: jOOQ classes and their usage">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h3>Single-paged manuals</h3>
|
||||
@ -34,7 +34,7 @@ function printContent() {
|
||||
|
||||
<li>
|
||||
|
||||
<a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a>
|
||||
<a href="<?=$root?>/manual/JOOQ/" title="jOOQ Manual reference: jOOQ classes and their usage">jOOQ classes and their usage</a>
|
||||
|
||||
<p>
|
||||
See these chapters for an overview of the jOOQ internal architecture
|
||||
@ -47,7 +47,7 @@ function printContent() {
|
||||
|
||||
<li>
|
||||
|
||||
<a href="<?=$root?>/manual/META/">Meta model code generation</a>
|
||||
<a href="<?=$root?>/manual/META/" title="jOOQ Manual reference: Meta model code generation">Meta model code generation</a>
|
||||
|
||||
<p>
|
||||
See these chapters to understand how you can use jOOQ as a source code
|
||||
@ -58,7 +58,7 @@ function printContent() {
|
||||
|
||||
<li>
|
||||
|
||||
<a href="<?=$root?>/manual/DSL/">DSL or fluent API</a>
|
||||
<a href="<?=$root?>/manual/DSL/" title="jOOQ Manual reference: DSL or fluent API">DSL or fluent API</a>
|
||||
|
||||
<p>
|
||||
See these chapters to learn about how to use jOOQ in every day's work. The
|
||||
@ -70,7 +70,7 @@ function printContent() {
|
||||
|
||||
<li>
|
||||
|
||||
<a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a>
|
||||
<a href="<?=$root?>/manual/ADVANCED/" title="jOOQ Manual reference: Advanced topics">Advanced topics</a>
|
||||
|
||||
<p>
|
||||
Some advanced topics including not-everyday functionality
|
||||
|
||||
@ -105,7 +105,7 @@ function printContent() {
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="$prev">
|
||||
<a href="{$prevhref}" title="{$prev/title}">previous</a>
|
||||
<a href="{$prevhref}" title="Previous section: {$prev/title}">previous</a>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$prev and $next">
|
||||
@ -113,7 +113,7 @@ function printContent() {
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$next">
|
||||
<a href="{$nexthref}" title="{$next/title}">next</a>
|
||||
<a href="{$nexthref}" title="Next section: {$next/title}">next</a>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
@ -216,6 +216,23 @@ function printContent() {
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
|
||||
<xsl:attribute name="title">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id">
|
||||
<xsl:text>jOOQ Manual reference: </xsl:text>
|
||||
<xsl:value-of select="//section[@id = $id]/title"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="@class and starts-with(@class, 'org.jooq')">
|
||||
<xsl:text>Internal API reference: </xsl:text>
|
||||
<xsl:value-of select="@class"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="@class and starts-with(@class, 'java')">
|
||||
<xsl:text>External API reference: </xsl:text>
|
||||
<xsl:value-of select="@class"/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="@title">
|
||||
<xsl:value-of select="@title"/>
|
||||
|
||||
@ -47,6 +47,8 @@
|
||||
</li>
|
||||
</ul>
|
||||
</content>
|
||||
|
||||
|
||||
<sections>
|
||||
<section id="JOOQ">
|
||||
<title>jOOQ classes and their usage</title>
|
||||
@ -75,6 +77,8 @@
|
||||
the way you're used to in SQL
|
||||
</p>
|
||||
</content>
|
||||
|
||||
|
||||
<sections>
|
||||
<section id="ExampleDatabase">
|
||||
<title>The example database</title>
|
||||
@ -135,6 +139,8 @@ CREATE TABLE t_book_to_book_store (
|
||||
</p>
|
||||
</content>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="Factory">
|
||||
<title>The Factory class</title>
|
||||
<slogan>
|
||||
@ -249,9 +255,140 @@ MySQLFactory create = new MySQLFactory(connection);
|
||||
</p>
|
||||
</content>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="Table">
|
||||
<title>Tables and Fields</title>
|
||||
<slogan>
|
||||
Tables and their Fields are probably the most important objects in
|
||||
jOOQ. Tables represent any entity in your underlying RDBMS, that holds
|
||||
data for selection, insertion, updates, and deletion. In other words,
|
||||
views are also considered tables by jOOQ.
|
||||
</slogan>
|
||||
<content>
|
||||
<h2>The Table</h2>
|
||||
<p>The formal definition of a <reference class="org.jooq.Table"/> starts with </p>
|
||||
<pre class="prettyprint lang-java">public interface Table<R extends Record> // [...]</pre>
|
||||
<p>
|
||||
This means that every table is associated with a subtype of the
|
||||
<reference class="org.jooq.Record" />
|
||||
class (see also
|
||||
<reference id="Result" title="Results and Records" />
|
||||
). For anonymous or ad-hoc tables,
|
||||
<R> will always bind to Record itself.
|
||||
</p>
|
||||
<p>
|
||||
Unlike in the
|
||||
<a href="http://download.oracle.com/javaee/6/tutorial/doc/gjitv.html"
|
||||
title="Tutorial about JPA CriteriaQuery">JPA CriteriaQuery API</a>,
|
||||
this generic type
|
||||
<R>
|
||||
is not given so much importance as far as
|
||||
type-safety is concerned.
|
||||
SQL itself is inherently type-unsafe. But then
|
||||
again, you have
|
||||
incredible flexibility of creating anonymous or ad-hoc
|
||||
types and
|
||||
reusing them from
|
||||
<reference id="NESTED" title="NESTED SELECT statements" />
|
||||
or from many other
|
||||
use-cases. If
|
||||
<R> would play a role as important
|
||||
as in JPA, jOOQ
|
||||
would suffer from
|
||||
the same verbosity, or inflexibility
|
||||
that JPA
|
||||
CriteriaQueries may
|
||||
have.
|
||||
</p>
|
||||
|
||||
<h2>The Field</h2>
|
||||
<p>The formal definition of a Field starts with </p>
|
||||
<pre class="prettyprint lang-java">public interface Field<T> // [...]</pre>
|
||||
<p>
|
||||
Fields are generically parameterised with a Java type
|
||||
<T>
|
||||
that reflects the closest match to the RDMBS's underlying datatype for that
|
||||
field. For instance, if you have a VARCHAR2 type Field in Oracle,
|
||||
<T>
|
||||
would bind to
|
||||
<reference class="java.lang.String" />
|
||||
for that Field in jOOQ. Oracle's NUMBER(7) would
|
||||
let
|
||||
<T>
|
||||
bind to
|
||||
<reference class="java.lang.Integer" />,
|
||||
etc. This generic type is useful for two purposes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>It allows you to write type safe queries. For instance, you cannot
|
||||
compare Field
|
||||
<String>
|
||||
with Field
|
||||
<Integer></li>
|
||||
|
||||
<li>It
|
||||
allows you to fetch correctly cast and converted values from
|
||||
your database result set. This is especially useful when <T> binds
|
||||
to
|
||||
advanced data types, such as
|
||||
<reference id="UDT" title="UDT's, ARRAY or ENUM types" />
|
||||
, where jOOQ
|
||||
does the difficult non-standardised JDBC data type conversions for you.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>Fields and tables put into action</h2>
|
||||
<p>The Field itself is a very broad concept. Other tools, or databases
|
||||
refer to it as expression or column. When you just want to </p>
|
||||
|
||||
<pre class="prettyprint lang-sql">SELECT 1 FROM DUAL</pre>
|
||||
<p>
|
||||
Then 1 is considered a Field or more explicitly, a
|
||||
<reference class="org.jooq.impl.Constant" />,
|
||||
which implements Field, and DUAL is considered a Table or more explicitly
|
||||
<reference class="org.jooq.impl.Dual"/>, which implements Table
|
||||
</p>
|
||||
<p>
|
||||
More advanced uses become clear quickly, when you do things like
|
||||
</p>
|
||||
<pre class="prettyprint lang-sql">SELECT 1 + 1 FROM DUAL</pre>
|
||||
<p>
|
||||
Where 1 + 1 itself is a Field or more explicitly, an
|
||||
<reference class="org.jooq.impl.Expression"/>
|
||||
joining two Constants together.
|
||||
</p>
|
||||
<p>
|
||||
See some details about how to create these queries in the
|
||||
<reference id="Query" title="Query section"/> of the manual
|
||||
</p>
|
||||
|
||||
<h2>TableFields</h2>
|
||||
<p>
|
||||
A specific type of field is the
|
||||
<reference class="org.jooq.TableField" />,
|
||||
which represents a physical
|
||||
Field in a physical Table. Both the
|
||||
TableField and its referenced Table
|
||||
know each other. The physical aspect
|
||||
of their nature is represented in
|
||||
jOOQ by
|
||||
<reference id="TABLE" title="meta model code generation" />,
|
||||
where every entity in your database
|
||||
schema will be generated into a
|
||||
corresponding Java class.
|
||||
</p>
|
||||
<p>
|
||||
TableFields join both <R> and <T> generic parameters into their specification:
|
||||
</p>
|
||||
<pre class="prettyprint lang-java">public interface TableField<R extends Record, T> // [...]</pre>
|
||||
<p>
|
||||
This can be used for additional type safety in the future, or by client code.
|
||||
</p>
|
||||
</content>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="Result">
|
||||
<title>Results and Records</title>
|
||||
</section>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user