CINXE.COM

Welcome to Doma — Doma documentation

<!DOCTYPE html> <html class="writer-html5" lang="en" data-content_root="./"> <head> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Welcome to Doma &mdash; Doma documentation</title> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="_static/tabs.css?v=a5c4661c" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> <script src="_static/jquery.js?v=5d32c60e"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> <script src="_static/documentation_options.js?v=187304be"></script> <script src="_static/doctools.js?v=9a2dae69"></script> <script src="_static/sphinx_highlight.js?v=dc90522c"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex/" /> <link rel="search" title="Search" href="search/" /> <link rel="next" title="Getting started" href="getting-started/" /> <script async type="text/javascript" src="/_/static/javascript/readthedocs-addons.js"></script><meta name="readthedocs-project-slug" content="doma" /><meta name="readthedocs-version-slug" content="latest" /><meta name="readthedocs-resolver-filename" content="/" /><meta name="readthedocs-http-status" content="200" /></head> <body class="wy-body-for-nav"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search" > <a href="#" class="icon icon-home"> Doma </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search/" method="get"> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> <ul> <li class="toctree-l1"><a class="reference internal" href="getting-started/">Getting started</a></li> <li class="toctree-l1"><a class="reference internal" href="config/">Configuration</a></li> <li class="toctree-l1"><a class="reference internal" href="basic/">Basic classes</a></li> <li class="toctree-l1"><a class="reference internal" href="domain/">Domain classes</a></li> <li class="toctree-l1"><a class="reference internal" href="embeddable/">Embeddable classes</a></li> <li class="toctree-l1"><a class="reference internal" href="entity/">Entity classes</a></li> <li class="toctree-l1"><a class="reference internal" href="dao/">DAO interfaces</a></li> <li class="toctree-l1"><a class="reference internal" href="aggregate-strategy/">Aggregate strategy</a></li> <li class="toctree-l1"><a class="reference internal" href="query/">Queries</a></li> <li class="toctree-l1"><a class="reference internal" href="query-builder/">Query builders</a></li> <li class="toctree-l1"><a class="reference internal" href="criteria-api/">Classic Criteria API</a></li> <li class="toctree-l1"><a class="reference internal" href="query-dsl/">Unified Criteria API</a></li> <li class="toctree-l1"><a class="reference internal" href="sql/">SQL templates</a></li> <li class="toctree-l1"><a class="reference internal" href="expression/">Expression language</a></li> <li class="toctree-l1"><a class="reference internal" href="transaction/">Transaction</a></li> <li class="toctree-l1"><a class="reference internal" href="build/">Building an application</a></li> <li class="toctree-l1"><a class="reference internal" href="annotation-processing/">Annotation processing</a></li> <li class="toctree-l1"><a class="reference internal" href="lombok-support/">Lombok support</a></li> <li class="toctree-l1"><a class="reference internal" href="kotlin-support/">Kotlin support</a></li> <li class="toctree-l1"><a class="reference internal" href="slf4j-support/">SLF4J support</a></li> <li class="toctree-l1"><a class="reference internal" href="jpms-support/">JPMS support</a></li> <li class="toctree-l1"><a class="reference internal" href="quarkus-support/">Quarkus support</a></li> <li class="toctree-l1"><a class="reference internal" href="codegen/">Doma CodeGen Plugin</a></li> </ul> <ul> <li class="toctree-l1"><a class="reference internal" href="faq/">Frequently Asked Questions</a></li> </ul> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="#">Doma</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="Page navigation"> <ul class="wy-breadcrumbs"> <li><a href="#" class="icon icon-home" aria-label="Home"></a></li> <li class="breadcrumb-item active">Welcome to Doma</li> <li class="wy-breadcrumbs-aside"> <a href="_sources/index.rst.txt" rel="nofollow"> View page source</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <a class="reference external image-reference" href="https://github.com/domaframework/doma"><img alt="_images/doma.png" class="align-right" src="_images/doma.png" style="width: 200px; height: 200px;" /></a> <section id="welcome-to-doma"> <h1>Welcome to Doma<a class="headerlink" href="#welcome-to-doma" title="Link to this heading"></a></h1> <p>Doma is a database access framework for Java. Doma has various strengths:</p> <ul class="simple"> <li><p>Verifies and generates source code at compile time using annotation processing.</p></li> <li><p>Provides type-safe Criteria API.</p></li> <li><p>Supports Kotlin.</p></li> <li><p>Uses SQL templates, called “two-way SQL”.</p></li> <li><p>Has no dependence on other libraries.</p></li> </ul> <p>This document consists of following sections:</p> <ul class="simple"> <li><p><a class="reference internal" href="#user-documentation">User Documentation</a></p></li> <li><p><a class="reference internal" href="#about-doma">About Doma</a></p></li> <li><p><a class="reference internal" href="#links">Links</a></p></li> </ul> <div class="important admonition"> <p class="admonition-title">Please help with the improvement and localization of our documentation.</p> <p>For matters related to the English version of the documentation and general issues concerning the documentation, please add issues or pull requests to <a class="reference external" href="https://github.com/domaframework/doma-docs">the GitHub repository</a>.</p> <p>For localization into Japanese, please perform translations and voting through <a class="reference external" href="https://crowdin.com/project/doma-docs">the project on Crowdin</a>.</p> </div> </section> <section id="user-documentation"> <h1>User Documentation<a class="headerlink" href="#user-documentation" title="Link to this heading"></a></h1> <div class="toctree-wrapper compound"> <ul> <li class="toctree-l1"><a class="reference internal" href="getting-started/">Getting started</a><ul> <li class="toctree-l2"><a class="reference internal" href="getting-started/#summary">Summary</a></li> <li class="toctree-l2"><a class="reference internal" href="getting-started/#install-jdk">Install JDK</a></li> <li class="toctree-l2"><a class="reference internal" href="getting-started/#get-sample-project">Get sample project</a></li> <li class="toctree-l2"><a class="reference internal" href="getting-started/#sample-project-structure">Sample project structure</a></li> <li class="toctree-l2"><a class="reference internal" href="getting-started/#import-project-to-your-ide">Import project to your IDE</a></li> <li class="toctree-l2"><a class="reference internal" href="getting-started/#programming-styles">Programming styles</a></li> <li class="toctree-l2"><a class="reference internal" href="getting-started/#dsl-style">DSL style</a></li> <li class="toctree-l2"><a class="reference internal" href="getting-started/#dao-style">DAO style</a></li> <li class="toctree-l2"><a class="reference internal" href="getting-started/#next-step">Next Step</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="config/">Configuration</a><ul> <li class="toctree-l2"><a class="reference internal" href="config/#configurable-items">Configurable items</a></li> <li class="toctree-l2"><a class="reference internal" href="config/#loading-jdbc-drivers">Loading JDBC drivers</a></li> <li class="toctree-l2"><a class="reference internal" href="config/#configuration-definition">Configuration definition</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="basic/">Basic classes</a><ul> <li class="toctree-l2"><a class="reference internal" href="basic/#overview">Overview</a></li> <li class="toctree-l2"><a class="reference internal" href="basic/#list-of-basic-classes">List of basic classes</a></li> <li class="toctree-l2"><a class="reference internal" href="basic/#examples">Examples</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="domain/">Domain classes</a><ul> <li class="toctree-l2"><a class="reference internal" href="domain/#internal-domain-classes">Internal domain classes</a></li> <li class="toctree-l2"><a class="reference internal" href="domain/#external-domain-classes">External domain classes</a></li> <li class="toctree-l2"><a class="reference internal" href="domain/#example">Example</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="embeddable/">Embeddable classes</a><ul> <li class="toctree-l2"><a class="reference internal" href="embeddable/#embeddable-definition">Embeddable definition</a></li> <li class="toctree-l2"><a class="reference internal" href="embeddable/#field-definition">Field definition</a></li> <li class="toctree-l2"><a class="reference internal" href="embeddable/#method-definition">Method definition</a></li> <li class="toctree-l2"><a class="reference internal" href="embeddable/#example">Example</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="entity/">Entity classes</a><ul> <li class="toctree-l2"><a class="reference internal" href="entity/#entity-definition">Entity definition</a></li> <li class="toctree-l2"><a class="reference internal" href="entity/#field-definition">Field definition</a></li> <li class="toctree-l2"><a class="reference internal" href="entity/#method-definition">Method definition</a></li> <li class="toctree-l2"><a class="reference internal" href="entity/#example">Example</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="dao/">DAO interfaces</a><ul> <li class="toctree-l2"><a class="reference internal" href="dao/#dao-definition">Dao definition</a></li> <li class="toctree-l2"><a class="reference internal" href="dao/#query-definition">Query definition</a></li> <li class="toctree-l2"><a class="reference internal" href="dao/#default-method">Default method</a></li> <li class="toctree-l2"><a class="reference internal" href="dao/#example">Example</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="aggregate-strategy/">Aggregate strategy</a><ul> <li class="toctree-l2"><a class="reference internal" href="aggregate-strategy/#aggregate-strategy-definition">Aggregate strategy definition</a></li> <li class="toctree-l2"><a class="reference internal" href="aggregate-strategy/#association-linker-definition">Association linker definition</a></li> <li class="toctree-l2"><a class="reference internal" href="aggregate-strategy/#example">Example</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="query/">Queries</a><ul> <li class="toctree-l2"><a class="reference internal" href="query/select/">Select</a></li> <li class="toctree-l2"><a class="reference internal" href="query/insert/">Insert</a></li> <li class="toctree-l2"><a class="reference internal" href="query/update/">Update</a></li> <li class="toctree-l2"><a class="reference internal" href="query/delete/">Delete</a></li> <li class="toctree-l2"><a class="reference internal" href="query/batch-insert/">Batch insert</a></li> <li class="toctree-l2"><a class="reference internal" href="query/batch-update/">Batch update</a></li> <li class="toctree-l2"><a class="reference internal" href="query/batch-delete/">Batch delete</a></li> <li class="toctree-l2"><a class="reference internal" href="query/multi-row-insert/">Multi-row insert</a></li> <li class="toctree-l2"><a class="reference internal" href="query/function/">Stored function</a></li> <li class="toctree-l2"><a class="reference internal" href="query/procedure/">Stored procedure</a></li> <li class="toctree-l2"><a class="reference internal" href="query/factory/">Factories</a></li> <li class="toctree-l2"><a class="reference internal" href="query/script/">Script</a></li> <li class="toctree-l2"><a class="reference internal" href="query/sql-processor/">SQL processor</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="query-builder/">Query builders</a><ul> <li class="toctree-l2"><a class="reference internal" href="query-builder/#search">Search</a></li> <li class="toctree-l2"><a class="reference internal" href="query-builder/#insert">Insert</a></li> <li class="toctree-l2"><a class="reference internal" href="query-builder/#update">Update</a></li> <li class="toctree-l2"><a class="reference internal" href="query-builder/#delete">Delete</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="criteria-api/">Classic Criteria API</a><ul> <li class="toctree-l2"><a class="reference internal" href="criteria-api/#introduction">Introduction</a></li> <li class="toctree-l2"><a class="reference internal" href="criteria-api/#select-statement">Select statement</a></li> <li class="toctree-l2"><a class="reference internal" href="criteria-api/#delete-statement">Delete statement</a></li> <li class="toctree-l2"><a class="reference internal" href="criteria-api/#insert-statement">Insert statement</a></li> <li class="toctree-l2"><a class="reference internal" href="criteria-api/#update-statement">Update statement</a></li> <li class="toctree-l2"><a class="reference internal" href="criteria-api/#property-expressions-entityql-nativesql">Property expressions (Entityql, NativeSql)</a></li> <li class="toctree-l2"><a class="reference internal" href="criteria-api/#scopes-entityql-nativesql">Scopes (Entityql, NativeSql)</a></li> <li class="toctree-l2"><a class="reference internal" href="criteria-api/#tips">Tips</a></li> <li class="toctree-l2"><a class="reference internal" href="criteria-api/#sample-projects">Sample projects</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="query-dsl/">Unified Criteria API</a><ul> <li class="toctree-l2"><a class="reference internal" href="query-dsl/#introduction">Introduction</a></li> <li class="toctree-l2"><a class="reference internal" href="query-dsl/#select-statement">Select Statement</a></li> <li class="toctree-l2"><a class="reference internal" href="query-dsl/#delete-statement">Delete Statement</a></li> <li class="toctree-l2"><a class="reference internal" href="query-dsl/#insert-statement">Insert Statement</a></li> <li class="toctree-l2"><a class="reference internal" href="query-dsl/#update-statement">Update Statement</a></li> <li class="toctree-l2"><a class="reference internal" href="query-dsl/#property-expressions">Property Expressions</a></li> <li class="toctree-l2"><a class="reference internal" href="query-dsl/#scopes">Scopes</a></li> <li class="toctree-l2"><a class="reference internal" href="query-dsl/#tips">Tips</a></li> <li class="toctree-l2"><a class="reference internal" href="query-dsl/#debugging">Debugging</a></li> <li class="toctree-l2"><a class="reference internal" href="query-dsl/#sample-projects">Sample Projects</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="sql/">SQL templates</a><ul> <li class="toctree-l2"><a class="reference internal" href="sql/#overview">Overview</a></li> <li class="toctree-l2"><a class="reference internal" href="sql/#sql-templates-in-files">SQL templates in files</a></li> <li class="toctree-l2"><a class="reference internal" href="sql/#sql-templates-in-annotations">SQL templates in annotations</a></li> <li class="toctree-l2"><a class="reference internal" href="sql/#directives">Directives</a></li> <li class="toctree-l2"><a class="reference internal" href="sql/#comments">Comments</a></li> <li class="toctree-l2"><a class="reference internal" href="sql/#doma-template-module">doma-template module</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="expression/">Expression language</a><ul> <li class="toctree-l2"><a class="reference internal" href="expression/#literals">Literals</a></li> <li class="toctree-l2"><a class="reference internal" href="expression/#comparison-operators">Comparison operators</a></li> <li class="toctree-l2"><a class="reference internal" href="expression/#logical-operators">Logical operators</a></li> <li class="toctree-l2"><a class="reference internal" href="expression/#arithmetic-operators">Arithmetic operators</a></li> <li class="toctree-l2"><a class="reference internal" href="expression/#string-concatenation-operator">String concatenation operator</a></li> <li class="toctree-l2"><a class="reference internal" href="expression/#calling-instance-methods">Calling instance methods</a></li> <li class="toctree-l2"><a class="reference internal" href="expression/#accessing-to-instance-fields">Accessing to instance fields</a></li> <li class="toctree-l2"><a class="reference internal" href="expression/#calling-static-methods">Calling static methods</a></li> <li class="toctree-l2"><a class="reference internal" href="expression/#accessing-to-static-fields">Accessing to static fields</a></li> <li class="toctree-l2"><a class="reference internal" href="expression/#using-built-in-functions">Using built-in functions</a></li> <li class="toctree-l2"><a class="reference internal" href="expression/#using-custom-functions">Using custom functions</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="transaction/">Transaction</a><ul> <li class="toctree-l2"><a class="reference internal" href="transaction/#configuration">Configuration</a></li> <li class="toctree-l2"><a class="reference internal" href="transaction/#usage">Usage</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="build/">Building an application</a><ul> <li class="toctree-l2"><a class="reference internal" href="build/#maven-central-repository">Maven Central Repository</a></li> <li class="toctree-l2"><a class="reference internal" href="build/#build-with-gradle">Build with Gradle</a></li> <li class="toctree-l2"><a class="reference internal" href="build/#build-with-maven">Build with Maven</a></li> <li class="toctree-l2"><a class="reference internal" href="build/#build-with-eclipse">Build with Eclipse</a></li> <li class="toctree-l2"><a class="reference internal" href="build/#build-with-intellij-idea">Build with IntelliJ IDEA</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="annotation-processing/">Annotation processing</a><ul> <li class="toctree-l2"><a class="reference internal" href="annotation-processing/#options">Options</a></li> <li class="toctree-l2"><a class="reference internal" href="annotation-processing/#setting-options-in-gradle">Setting options in Gradle</a></li> <li class="toctree-l2"><a class="reference internal" href="annotation-processing/#setting-options-in-maven">Setting options in Maven</a></li> <li class="toctree-l2"><a class="reference internal" href="annotation-processing/#setting-options-in-eclipse">Setting options in Eclipse</a></li> <li class="toctree-l2"><a class="reference internal" href="annotation-processing/#setting-options-in-intellij-idea">Setting options in IntelliJ IDEA</a></li> <li class="toctree-l2"><a class="reference internal" href="annotation-processing/#setting-options-with-configuration-file">Setting options with configuration file</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="lombok-support/">Lombok support</a><ul> <li class="toctree-l2"><a class="reference internal" href="lombok-support/#overview">Overview</a></li> <li class="toctree-l2"><a class="reference internal" href="lombok-support/#best-practices">Best practices</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="kotlin-support/">Kotlin support</a><ul> <li class="toctree-l2"><a class="reference internal" href="kotlin-support/#best-practices">Best practices</a></li> <li class="toctree-l2"><a class="reference internal" href="kotlin-support/#sample-project">Sample project</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="slf4j-support/">SLF4J support</a><ul> <li class="toctree-l2"><a class="reference internal" href="slf4j-support/#overview">Overview</a></li> <li class="toctree-l2"><a class="reference internal" href="slf4j-support/#gradle">Gradle</a></li> <li class="toctree-l2"><a class="reference internal" href="slf4j-support/#configuration">Configuration</a></li> <li class="toctree-l2"><a class="reference internal" href="slf4j-support/#loggers">Loggers</a></li> <li class="toctree-l2"><a class="reference internal" href="slf4j-support/#examples">Examples</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="jpms-support/">JPMS support</a><ul> <li class="toctree-l2"><a class="reference internal" href="jpms-support/#overview">Overview</a></li> <li class="toctree-l2"><a class="reference internal" href="jpms-support/#modules">Modules</a></li> <li class="toctree-l2"><a class="reference internal" href="jpms-support/#usage">Usage</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="quarkus-support/">Quarkus support</a><ul> <li class="toctree-l2"><a class="reference internal" href="quarkus-support/#overview">Overview</a></li> <li class="toctree-l2"><a class="reference internal" href="quarkus-support/#installing">Installing</a></li> <li class="toctree-l2"><a class="reference internal" href="quarkus-support/#main-features">Main features</a></li> <li class="toctree-l2"><a class="reference internal" href="quarkus-support/#sample-project">Sample project</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="codegen/">Doma CodeGen Plugin</a><ul> <li class="toctree-l2"><a class="reference internal" href="codegen/#overview">Overview</a></li> <li class="toctree-l2"><a class="reference internal" href="codegen/#how-to-use">How to use</a></li> <li class="toctree-l2"><a class="reference internal" href="codegen/#gradle-tasks">Gradle Tasks</a></li> <li class="toctree-l2"><a class="reference internal" href="codegen/#config-options">Config Options</a></li> <li class="toctree-l2"><a class="reference internal" href="codegen/#customization">Customization</a></li> <li class="toctree-l2"><a class="reference internal" href="codegen/#sample-project">Sample Project</a></li> <li class="toctree-l2"><a class="reference internal" href="codegen/#footnote">Footnote</a></li> </ul> </li> </ul> </div> </section> <section id="about-doma"> <h1>About Doma<a class="headerlink" href="#about-doma" title="Link to this heading"></a></h1> <div class="toctree-wrapper compound"> <ul> <li class="toctree-l1"><a class="reference internal" href="faq/">Frequently Asked Questions</a></li> </ul> </div> </section> <section id="links"> <h1>Links<a class="headerlink" href="#links" title="Link to this heading"></a></h1> <ul class="simple"> <li><p><a class="reference external" href="https://twitter.com/domaframework">News and announcements</a></p></li> <li><p><a class="reference external" href="https://github.com/domaframework/doma">GitHub repository</a></p></li> <li><p><a class="reference external" href="https://github.com/domaframework/doma/releases">Release Notes</a></p></li> <li><p><a class="reference external" href="https://www.javadoc.io/doc/org.seasar.doma/doma-core/latest/index.html">JavaDoc</a></p></li> <li><p><a class="reference external" href="https://github.com/domaframework/simple-examples">Examples</a></p></li> <li><p><a class="reference external" href="https://github.com/domaframework/doma-compile-plugin">Doma Compile Plugin</a></p></li> <li><p><a class="reference external" href="https://github.com/domaframework/doma-codegen-plugin">Doma CodeGen Plugin</a></p></li> <li><p><a class="reference external" href="http://doma.seasar.org/">Doma version 1</a></p></li> </ul> </section> </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <a href="getting-started/" class="btn btn-neutral float-right" title="Getting started" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> </div> <hr/> <div role="contentinfo"> <p>&#169; Copyright 2018, Toshihiro Nakamura.</p> </div> Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10