MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Données de printemps et mongoDB - héritage et @DBRef

Voici à quoi vos classes devraient ressembler pour que DBRef fonctionne avec l'héritage.

Utilisateur

@Document(collection = "User")
public class User {

    @Id
    private String id;
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

Contact

Veuillez noter que vous n'avez pas besoin d'annotation de document sur cette classe.

public class Contact extends User {

    private String address;

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

Fichier de document

@Document(collection = "DocumentFile")
public class DocumentFile {

    @Id
    private String id;

    public void setId(String id) {
        this.id = id;
    }

    @DBRef
    private User user;

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

}

Vous aurez juste besoin du IDocumentFileRepository et IUserRepository pour les opérations CRUD.

Le reste du code ainsi que les cas de test ont été téléchargés sur github.

https://github.com/saagar2000/Spring