É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é."
ORM | Transaction | Data Model | DSL |
---|---|---|---|
○ | ○ | × | ○ |
○: Correspondance ×: non pris en charge
Main.java
CriteriaQuery<Employee> query = em.getCriteriaBuilder().createQuery(Employee.class);
em.createQuery(query).getResultStream().forEach(e -> {
System.out.format("%1s: %2s, %3s, %4s\n", e.id, e.first_name, e.middle_name, e.last_name);
});
Main.java
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<Employee> query = builder.createQuery(Employee.class);
Root<Employee> root = query.from(Employee.class);
em.createQuery(query.select(root).where(builder.equal(root.get(Employee_.id), 1L)))
.getResultStream()
.forEach(e -> {
System.out.format("%1s: %2s, %3s, %4s\n", e.id, e.first_name, e.middle_name, e.last_name);
});
Main.java
em.createQuery(query.select(root).where(builder.equal(root.get(Employee_.id), 1L)))
.getResultStream()
.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 {
@Id
public long id;
public String first_name;
public String middle_name;
public String last_name;
@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(name = "employee_id", table = "post")
public List<Post> posts;
}
Post.java
@Entity
@Table(name="post")
public class Post {
@Id
public long id;
public long employee_id;
public String name;
}
--Lorsque vous construisez en utilisant EclipseLink 2.7.0 normalement, vous vous fâchez que "javax.persistence ait une signature différente".
N'est pas encore.
Recommended Posts