JavaEE - Entity
Concepto
-
Clase
persistenciaen unabase de datosdebe anotarse conjavax.persistence.EntityClase ↔ Entidad
-
JPAutilizatabladeBDpara cadaentidad -
Instancias persistentes clasese representan como unafilaen latabla -
Clases entidaddefinirclave principaltenerconstructorno seaargumentoyno definitivaClavesunsolo campoocombinación de campos
-
JPApermite generarclave principalenbase de datosa través deanotación @GeneratedValue-
Nombre tablacorresponde alnombre clase- Cambiar esto agregando la
anotación @Table(name='NEWTABLENAME')
- Cambiar esto agregando la
-
-
Corresponden a las
clasesytablasde labase de datos -
Indicando al sistema de
persistenciaque estaclasees unaentidadque tiene quemapear- Por cada
clasehabrá unatabla
- Por cada
-
Ficherodeconfiguración XML( Sistema antiguo )Archivo externoadjunto a la aplicación
-
Anotaciones( Mejor sistema )-
EntidadclaseJava -
Vincular con una
tablaenbase de datosutilizaremos la anotación@Entity( Indicamos alsistemadepersistenciaqueclasees unaentidadque tiene quemapear)
-
-
Incluir
anotaciónse importa de manera automática en elpaquetepackage javax.persistence.Entity
-
Las
anotacionescomo@Entityson implementadas enclases- Requerimos importarlas como si fuera una clase
Anotación @Entity
-
Si una clase se
mapeaa unatabla( un atributo semapeaa unacolumna) -
Columna→@Column-
Indicando el nombre de la
columnaen latabla -
Las
columnasse llaman igual que losatributosno hace falta utilizar la anotación@Column -
@Column(name="nombre_columna")- Cada
atributotendremos los métodosgetter/setterpara queHibernateacceda a ellos
- Cada
-
-
Marcar
clave primaria→@Id-
Columna autogenerada →
@GeneratedValue -
@GeneratedValue(strategy=GenerationType.IDENTITY)
-
-
Anotación @Id
Ejemplo
- Tabla queremos mapear una clase (
Entidad)
package project.orm.manager;
import java.util.Date;
// Librerías JPA de persistencia
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* Tabla → mapea → Clase (Entidad)
*
* Columna → mapea → Atributo
*
*/
@Entity // Debajo de @Entity meteremos la anotación de tabla "pedidos"
@Table(name = "pedido") // Referencia a la tabla Pedidos de la base de datos
public class Pedido {
/**
* Columna "Id" que conecta con la tabla 'pedido'
*
* Se usa para marcar la clave primaria dentro de la tabla 'pedido' que
* utilizamos como anotación @Id
*/
@Column(name = "id")
@Id // Marcamos la clave privada de la tabla "pedido"
@GeneratedValue(strategy = GenerationType.IDENTITY) // Columna auto-generadora (Se usa para evitar tener que poner // @Column)
private int id;
/**
* Columna "referencia" que conecta con la tabla 'pedido'
*/
@Column(name = "referencia") // Indicamos el nombre de la columna en la tabla @Column
private String referencia;
/**
* Columna "fecha" que conecta con la tabla 'pedido'
*/
@Column(name = "fecha")
private Date fecha;
/**
* Método de instancia
*
* Obtenemos el id de la tabla pedidos
*
* @return - int - id de la tabla "pedido"
*/
public int getId() {
return id;
}
/**
* Procedimiento de instancia
*
* @param id - int - establece el id de la tabla "pedido"
*/
public void setId(int id) {
this.id = id;
}
/**
* Método de instancia
*
* @return - String - devuelve la referencia de la tabla 'pedido'
*/
public String getReferencia() {
return referencia;
}
/**
* Método de instancia
*
* @param referencia - String - establece el valor de la referencia de la tabla
* 'pedido'
*/
public void setReferencia(String referencia) {
this.referencia = referencia;
}
/**
* Metodo de instancia
*
* @return - fecha - Date - objeto de la clase Date para establecer la fecha de
* la tabla 'pedido'
*/
public Date getDate() {
return fecha;
}
/**
* Procedimiento de instancia
*
* @param fecha - Date - establece la fecha de la tabla 'pedido'
*/
public void setDate(Date fecha) {
this.fecha = fecha;
}
}
Deja un comentario