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