Clase Entity
Definiremos las clases en Java que representaran los documentos en MongoDB
Clase: Planetas
Atributo
Tipo
idplaneta (Llave primaria)
String
planeta
String
Clase: Continentes
Atributo
Tipo
idcontinente (Llave primaria)
String
continente
String
planetas
Planetas
La llave primaria la identificaremos con la anotación @Id
Generalmente deseamos asociar Continentes y Planetas, tenemos 4 formas de hacerlo mediante anotaciones de jmoordb
Tipo
Descripción
@Embedded
Almacena el documento de planeta dentro de continentes
@Embedded List<Entity>
Almacena una lista de documentos embebidos de planetas dentro de continentes.
@Referenced
Almacena solo la información del campo llave suministrado como parte de la relación, jmoordb se encarga de establecer la relación y realizar las operaciones necesarias.
@Referenced List<Entity>
Es una lista de planetas que son referenciados dentro de la colección Continentes.
Definiremos el entity planetas:
La definición es muy básica como un bean Java simple, solo debes agregar las anotaciones correspondientes. @Id para indicar el atributo que sera utilizado como llave primaria.
@Getter
@Setter
public class Planetas {
@Id
private String idplaneta;
private String planeta;
//@Ignore
private Date fecha;
public Planetas() {
}
public Planetas(String idplaneta, String planeta, Date fecha) {
this.idplaneta = idplaneta;
this.planeta = planeta;
this.fecha = fecha;
}
@Override
public String toString() {
return "Planetas{" + "idplaneta=" + idplaneta + ", planeta=" + planeta + ", fecha=" + fecha + '}';
}
}
Definir el entity Continentes, en este ejemplo, crearemos documento embebido Planetas, lo que representaría que el documento Planetas sera almacenado completo dentro de Continentes.
@Getter
@Setter
public class Continentes {
@Id
private String idcontinente;
private String continente;
@Embedded
private Planetas planetas;
@Override
public String toString() {
return "Continentes{" + "idcontinente=" + idcontinente + ", continente=" + continente + ", planetas=" + planetas + '}';
}
}
Last updated
Was this helpful?