miércoles, 30 de enero de 2008

Entity Bean

Un Entity Bean es una clase ( POJO ) que representa una tabla de una base de datos, y cada instancia de esta clase representa un registro de la tabla, es decir, con los entity beans lo que conseguimos es crear un mapeo entre las propiedades de una clase y los campos de una tabla। Además de este mapeo también vamos a poder especificar las relaciones que tienen las clases entre sí ( uno a uno, uno a muchos, muchos a uno y muchos a muchos ). Todo Entity Bean debe de tener una clave primaria que identifica a ese registro de forma única dentro de la tabla. Todas estas configuraciones las vamos a realizar a través de anotaciones, y el API que se encarga de gestionar todos los aspectos relativos a la persistencia es JPA ( Java Persistent API ). Vamos a ver un ejemplo. Vamos a crear una entidad llamada Team, para lo cual veremos que lo único que vamos a tener en cuenta es establecer una anotación @Entity al principio de la clase, una anotación @Id para indicar cuál es la propiedad que representa la clave primaria, y por último una anotación @OneToMany para indicar que un equipo puede estar compuesto por muchos jugadores y que éstos sólo pueden pertenecer a un equipo :
@Entity
public class Team {

private int id;
private String name;
private Date foundationDate;
private Collection players;

@Id
public int getId() {
return id;
}

public void setId( int value ) {
id = value;
}

public String getName() {
return name;
}

public void setName( String value ) {
name = value;
}

public Date getFoundationDate() {
return foundationDate;
}

public void setFoundationDate( Date value ) {
foundationDate = value;
}

@OneToMany
public Collection getPlayers() {
return players;
}

public void setPlayers( Collection value ) {
players = value;
}

}
A continuación vamos a crear la Entidad Player, que al igual que la entidad anterior va a tener una anotación @Entity, otra anotación @Id, y por último una anotación @ManyToOne para establecer una relación bidireccional entre las dos entidades :
public class Player {

private int id;
private String name;
private Team team;

@Id
public int getId() {
return id;
}

public void setId( int value ) {
id = value;
}

public String getName() {
return name;
}

public void setName( String value ) {
name = value;
}

@ManyToOne
public Team getTeam() {
return team;
}

public void setTeam( Team value ) {
team = value;
}

}

2 comentarios:

sangreaurinegra dijo...

falta persistir todabia :(

Unknown dijo...

Epale amigo tengo algunas dudas, pero afirmo que esta muy bueno este tutorial, ahora bien, todo este codigo debo dejarlo en una estructura de directorios y como lo corro?, o por el contrario debo correrlo desde eclipse, tengo todo instalado en un portatil y no se como configurar el ambiente para que estas aplicaciones funciones.

Gracias Peter