Considération sur le cadre de persistance Java 2017 (6) Ebean

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

Structure de la table

employeeテーブルからpostテーブルにID紐づけ

Gamme de correspondance

ORM Transaction Data Model DSL
×

○: Correspondance ×: non pris en charge

Impressions

échantillon

Recherche de table unique

Rechercher tout

Main.java


EbeanServer server = Ebean.getServer("example");
server.beginTransaction();
server.find(Employee.class).findList().stream().forEach(e -> {
    System.out.println(e.id + ":" + e.first_name + " " + e.middle_name + " " + e.last_name);
});
server.endTransaction();

Recherche de clé primaire

Main.java


//Mec normal
server.find(Employee.class).where().eq("id", Long.valueOf(1)).findList().stream().forEach(e -> {
    System.out.println(e.id + ":" + e.first_name + " " + e.middle_name + " " + e.last_name);
});

//Type sûr type
server.find(Employee.class).where().idEq(Long.valueOf(1)).findList().stream().forEach(e -> {
    System.out.println(e.id + ":" + e.first_name + " " + e.middle_name + " " + e.last_name);
});

//Le type qui utilise le bean de requête sécurisé de type
new QEmployee().id.eq(Long.valueOf(1)).findList().stream().forEach(e -> {
    System.out.println(e.id + ":" + e.first_name + " " + e.middle_name + " " + e.last_name);
});

Jointure de table

Main.java


server.find(Employee.class).findList().stream().forEach(e -> {
    System.out.format("%1s:%2s %3s %4s\n", e.id, e.first_name, e.middle_name, e.last_name);
    e.posts.stream().forEach(p -> {
        System.out.format("\t%1s: %2s, %3s\n", p.id, p.employee_id, p.name);
    });
});

Employee.java


@Entity
@Table(name="employee")
public class Employee extends Model {
    @Id
    @GeneratedValue(strategy= GenerationType.SEQUENCE)
    public long id;
    public String first_name;
    public String middle_name;
    public String last_name;

    @OneToMany(mappedBy = "employee")
    public List<Post> posts;
}

Post.java


@Entity
@Table(name="post")
public class Post {
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    public long id;
    public long employee_id;
    public String name;

    @ManyToOne(optional=false)
    public Employee employee;
}

Le point

Points addictifs

--Quand je nettoie et exécute, je me fâche comme "La classe Bean XXXXX n'est pas améliorée?" ――Lorsque vous regardez la famille principale, il est dit "Documentation / Configuration / Amélioré" ... --Maven plugin nettoyer, construire, améliorer, exécuter pour résoudre

Après la publication

N'est pas encore.

Article de référence

Recommended Posts

Considération sur le cadre de persistance Java 2017 (6) Ebean
Considération sur le cadre de persistance Java 2017 (résumé) -1
Considération sur le framework de persistance Java 2017 (5) Iciql
Considérations sur le cadre de persistance Java 2017 (7) EclipseLink
Considération sur le framework de persistance Java 2017 (1)
Considérations sur le cadre de persistance Java 2017 (8) Hibernate5
Considérations sur le cadre de persistance Java 2017 (2) Doma2
framework java
Devinez le cadre de persistance Java 2017 (3) Reladomo
Comparaison du framework Java
[Java] Cadre de collection
Conseils pour Play Framework2.5 (Java)
Installez Java sur Mac
Exécutez PostgreSQL sur Java
[Développement] Comparaison du framework Java
Apprentissage du framework Java # 1 (version Mac)
Gestion des versions Java sur macOS
Installez OpenJDK7 (JAVA) sur ubuntu 14.04
Rétrograder Java sur openSUSE Linux
Réflexion sur la manipulation de chaînes Java
En passant Java Gold SE 8
Oracle Java 8 sur Docker Ubuntu
Notes de révision de Java Collections Framework
Installez Java sur WSL Ubuntu 18.04
Exécutez l'applet java sur ubuntu
Mettez Oracle Java 8 dans CircleCI 2
Changer la version java sur CentOS
Installez java 1.8.0 sur Amazon linux2