Devinez le cadre de persistance Java 2017 (3) Reladomo

Post précédent

Préface

Étant donné que j'écris en utilisant le temps d'intervalle, je vous serais reconnaissant si vous pouviez indiquer les parties avec une précision médiocre. Tout d'abord, excluez ceux qui sont EOL. Nous considérerons les fonctions payantes, mais nous ne les utiliserons pas réellement, en raison du problème des poches. La base de données utilisée est fixée à Postgre pour une raison stupide telle que "Eh bien, peut-être que Postgre peut être utilisé même s'il n'est pas spécifié."

environnement

** Le fonctionnement n'a pas été confirmé en raison de problèmes d'environnement réseau. ** ** Veuillez noter que ni gradle ni maven ne peuvent se connecter au référentiel et ne fonctionneront pas, c'est donc un article de supposition ... Vous devriez pouvoir frapper Mithra Generator avec une fourmi, mais c'est gênant ...

Gamme de correspondance

ORM Transaction Data Model DSL
※1 ※2

○: Correspondance ×: non pris en charge

Impressions

――Un sentiment de "défini à partir des règles" --Une configuration qui produit tout à partir de XML, non seulement la table DDL mais également l'index DDL est générée en fonction de la définition de XML --Signe de retard d'évaluation ressenti à partir de DSL

échantillon

Recherche de table unique

EmployeeSearchTest.java


//Recherche de clé primaire
MithraManagerProvider.getMithraManager().executeTransactionalCommand(tx -> {
    Employee employee = EmployeeFinder.findOne(EmployeeFineder.id().eq(BigDecimal.ZERO));
});
//Rechercher tout
MithraManagerProvider.getMithraManager().executeTransactionalCommand(tx -> {
    EmployeeList list = new EmployeeList(EmployeeFiner.all());
});

Employee.xml


<MithraObject
    objectType="transactional"
    xmlns:xsi="http://www.w3.org/2001/XML-Schema-instance"
    xsi:noNamespaceSchemaLocation="mithraobject.xsd">

    <PackageName>jp.co.qualsyite.</PackageName>
    <ClassName>Employee</ClassName>
    <DefaultTable>employee</DefaultTable>

    <Attribute
        name="id"
        javaType="java.util.BigDecimal"
        columnName="id"
        primaryKey="true"
        primaryKeyGeneratorStrategy="SimulatedSequence">

        <SimulatedSequence
            sequenceName="employee"
            sequenceObjectFactoryName="jp.co.qualysite.ObjectSequenceFactory"
            hasSourceAttribute="false"
            batchSize="1"
            initialValue="0"
            incrementSize="1"/>
    </Attribute>
    <Attribute name="firstName"  javaType="java.lang.String" columnName="first_name"  nullable="false" maxLength="60" />
    <Attribute name="middleName" javaType="java.lang.String" columnName="middle_name" nullable="false" maxLength="60" />
    <Attribute name="lastName"   javaType="java.lang.String" columnName="last_name"   nullable="false" maxLength="60" />
    <Attribute name="from"       javaType="java.util.Date"   columnName="from"        nullable="false" />
    <Attribute name="thru"       javaType="java.util.Date"   columnName="thru"        nullable="false" />
    <Attribute name="in"         javaType="java.util.Date"   columnName="in"          nullable="false" />
    <Attribute name="out"        javaType="java.util.Date"   columnName="out"         nullable="false" />

    <Relationship
        name="posts"
        relatedObject="Post"
        cardinality="one-to-many">
            this.id = Post.employeeId
    </Relationship>
</MithraObject>

Jointure de table

Le point

Points addictifs

J'en suis accro ou ça ne marche pas.

Après la publication

Article de référence

Recommended Posts

Devinez le cadre de persistance Java 2017 (3) Reladomo
Considération sur le framework de persistance Java 2017 (1)
Devinez le code de caractère en Java
Considération sur le cadre de persistance Java 2017 (résumé) -1
Considération sur le cadre de persistance Java 2017 (6) Ebean
Considération sur le framework de persistance Java 2017 (5) Iciql
Considérations sur le cadre de persistance Java 2017 (7) EclipseLink
À propos de l'environnement de développement actuel (Java 8)
J'ai essayé le framework Java "Quarkus"
Considérations sur le cadre de persistance Java 2017 (8) Hibernate5
Considérations sur le cadre de persistance Java 2017 (2) Doma2
framework java
À propos de la procédure pour que Java fonctionne
À propos du nouveau modèle de version de Java @ Seki Java (20/07/2018)
À propos de l'affichage initial de Spring Framework
À propos de l'interface Java
[Java] À propos des fonctionnalités de Java 12
À propos de la confusion observée dans les serveurs Java de démarrage
À propos du guide de démarrage officiel de Spring Framework
A propos de l'ordre de description des propriétés système Java
À propos de l'idée des classes anonymes en Java
Une histoire sur le JDK à l'ère de Java 11
[Java] À propos des tableaux
Comprendre le framework MVC avec Java 1/4 View côté serveur
Comprendre le framework MVC avec le contrôleur Java 3/4 côté serveur
Quelque chose à propos de java
Où est Java
À propos des fonctionnalités Java
À propos de la méthode
À propos des threads Java
Interface [Java]
À propos de la classe Java
Comparaison du framework Java
À propos des tableaux Java
À propos de l'héritage Java
À propos de l'interface, interface java
À propos du paquet
Comprendre le framework MVC avec le modèle Java 2/4 côté serveur
À propos de Java Var
À propos de Java Literal
À propos des commandes Java
[Java] Cadre de collection
Une histoire sur l'introduction d'Evolutions dans le cadre de jeu
Pensez au problème JAVA = JAVAscript (nécessaire à l'avenir)
Une vue d'ensemble du framework Java natif de Kubernetes Quarkus
Commencez avec Java sans serveur avec le framework léger Micronaut!
À propos de la sortie du journal Java
Sortie sur la méthode, partie 2
À propos de l'interface fonctionnelle Java
Java, à propos d'un tableau à deux dimensions
Conseils pour Play Framework2.5 (Java)
À propos de la classe StringBuilder
À propos de la division de classe (Java)
Commentaire: à propos de l'interface
À propos de [Java] [StreamAPI] allMatch ()
À propos de la classe Java StringBuilder
À propos du pipeline d'actifs
À propos de la double fonction -java
[Java] À propos de la classe Singleton
À propos de la liaison de méthode Java