Table of Contents

Xodus-DNQ is a Kotlin library that contains the data definition language and queries for Xodus, a transactional schema-less embedded database. Xodus-DNQ provides the same support for Xodus that ORM frameworks provide for SQL databases. With Xodus-DNQ, you can define your persistent meta-model using Kotlin classes.

JetBrains team tools YouTrack and Hub use Xodus-DNQ for persistent layer definition.

  1. Use Xodus-DNQ in Your Project

    1. Using Gradle

    2. Using Maven

  2. Persistent Classes

    1. Inheritance

    2. Enumerations

    3. Singletons

  3. Persistent Properties

    1. Simple properties

    2. Simple property constraints

    3. Links

    4. Extension properties

    5. isDefined and getSafe

    6. Unique Indices

  4. Data Query

    1. Transactions

    2. New entities

    3. XdQuery

      1. Query all entities

      2. Empty query

      3. Convert to Kotlin collections

      4. Query of specified elements

      5. Filter

      6. Find or Create

      7. Query operations

      8. Sort

      9. Map

      10. Size

      11. isEmpty, isNotEmpty, any, none

      12. Paging: drop & take

      13. indexOf

      14. Contains

      15. First & single element

      16. Mutable queries

  5. Build Meta-Model

  6. Sample Application