Da ich mit der Lückenzeit schreibe, würde ich es begrüßen, wenn Sie auf Teile mit geringer Genauigkeit hinweisen könnten. Schließen Sie zunächst diejenigen aus, die EOL sind. Wir werden kostenpflichtige Funktionen in Betracht ziehen, diese jedoch aufgrund des Taschenproblems nicht verwenden. Die verwendete Datenbank ist aus einem dummen Grund wie "Nun, vielleicht kann Postgre verwendet werden, auch wenn es nicht angegeben ist" auf Postgre festgelegt.
ORM | Transaction | Data Model | DSL |
---|---|---|---|
○ | ○ | × | ○ |
○: Korrespondenz ×: Nicht unterstützt
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();
Main.java
//Normaler Typ
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);
});
//Typensicherer Typ
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);
});
//Der Typ, der die typsichere Abfragebohne verwendet
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);
});
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;
}
Ist noch nicht.
Recommended Posts