Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sin API propietaria, administrada solo por API Java estándar (JPA 2 / JDO
2).
package com.objectdb.tutorial;
@Entity
public class Point {
// Persistent Fields:
private int x;
private int y;
// Constructor:
Point (int x, int y) {
this.x = x;
this.y = y;
}
// Accessor Methods:
public int getX() { return this.x; }
public int getY() { return this.y; }
// String Representation:
@Override
public String toString() {
return String.format("(%d, %d)", this.x, this.y);
}
}
Como puede ver arriba, una clase de entidad es una clase Java ordinaria. La
única adición única de JPA es la anotación @Entity , que marca la clase como
una clase de entidad.
EntityManagerFactory emf =
Persistencia . createEntityManagerFactory ( "$ objectdb / db /
points.odb" ) ;
emf. close ( ) ;
Obteniendo un EntityManager
Una vez que tenemos una EntityManagerFactory , podemos obtener
una instancia fácilmente :EntityManager
em. close ( ) ;
La siguiente sección explica con más detalle cómo usar EntityManager y las
transacciones para las operaciones de la base de datos CRUD.
Tenga en cuenta que para simplemente imprimir los nombres de los países, una
consulta que utiliza proyección y recupera nombres de países directamente en
lugar de instancias de país completamente construidas sería más eficiente.
Tenga en cuenta que cuando una consulta devuelve un solo objeto, puede ser
tentador preferir Query sobre TypedQuery incluso cuando se conoce el tipo de
resultado porque el envío de un solo objeto es fácil y el código es simple:
Query query = em. createQuery ( "SELECT COUNT (c) FROM Country c"
) ;
largo countryCount = Consulta ( larga ) . getSingleResult ( ) ;
Por ejemplo, la siguiente consulta elimina todas las instancias del país :
y la siguiente consulta restablece el campo del área en todas las instancias del
país a cero:
Además, los parámetros son más flexibles y admiten elementos que no están
disponibles como literales, como los objetos de entidad.
Métodos de parámetros API
Más de la mitad de los métodos en Query y TypedQuery se ocupan del manejo
de parámetros. La interfaz Query define 18 de esos métodos, 9 de los cuales
se anulan en TypedQuery . Esa gran cantidad de métodos no es típica de JPA,
que generalmente sobresale en su API delgada y simple.
Por ejemplo, la siguiente invocación pasa un objeto Date como una fecha pura
(sin tiempo):