Printemps Mongodb - impossible d'instancier la classe d'haricot [java.util.Liste]: classe Spécifiée est une interface

mon projet est à l'aide de Printemps de données mongodb. J'ai été de ne pas avoir d'erreur ci-dessous jusqu'à ce que j'ai fait une modification à l'un des documents qui a un champ avec l'ensemble des Documents. Ça marchait très bien avant, mais maintenant, je reçois l'erreur ci-dessous.

Le domaine j'ai mis à jour a été impapps dans les Projets de classe POJO. Je ne sais pas comment faire pour effacer cette erreur essayé différentes choses mais n'a pas fonctionné.

    SEVERE: Servlet.service() for servlet [appServlet] in context with path [/mongodproject] threw exception [Request processing failed; nested exception is org.springframework.data.mapping.model.MappingInstantiationException: Could not instantiate bean class [java.util.List]: Specified class is an interface] with root cause
org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [java.util.List]: Specified class is an interface
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:101)
    at org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:60)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:232)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:212)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1008)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.access$100(MappingMongoConverter.java:75)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:957)
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.getValueInternal(MappingMongoConverter.java:713)

Voici mon POJO et le Printemps Référentiel de la classe.

Projet de Classe POJO

@Document(collection="releases")
 public class Project {
@Id
private String id;
 ......
@Field("impapps")
private List<ImpactedApplications> impapps=new ArrayList<ImpactedApplications>();
    .....getters/setters
}   

ImpactedApplication Classe POJO:

public class ImpactedApplications {

@Field("appid")
private String appId;
.....
@Field("repository")
private List<ScriptsRepo> rep=new ArrayList<ScriptsRepo>();
@Field("artifacts")
private List<Artifacts> artifacts=new ArrayList<Artifacts>();
     //getter and setters

}

Artefacts de Classe POJO

public class Artifacts {

    @Field("artifacttype")
    private String artifactType;
    @Field("documentlink")
    private String documentLink;
    @Field("arttestphase")
    private String artTestPhase;
    @Field("artifactname")
    private ArtifactsEnums artifactsNames;
    @Field("startdate")
    private String startDate;
    @Field("enddate")
    private String endDate;
    @Field("peerrev")
    private boolean peerReview;
    @Field("busrev")
    private boolean busReview;
    @Field("na")
    private boolean na;

Printemps classes de Dépôt

public interface ProjectRepository extends Repository<Project, String> {

Project findById(String id);
List<Project> findByYearAndReleaseMonthNoOrderByProjectNameDesc(String year,String month, Sort sort);
Project findByYearAndReleaseMonthNoAndId(String year, String month,String id);

Chaque fois que j'appelle les méthodes ci-dessus, je reçois l'exception.

Ci-dessous est comment mon document est à la recherche actuellement.

Printemps Mongodb - impossible d'instancier la classe d'haricot [java.util.Liste]: classe Spécifiée est une interface

Ce qui ne les documents ressembler à vous essayez de lire? Pouvez-vous vérifier que les valeurs de impapps, repository et artifacts sont des tableaux dans MongoDB? Si oui, le read(…) la méthode à exécuter dans le typeToUse.isCollectionLike() && dbo instanceof BasicDBList clause et correctement créer une collection pour la propriété. Je suis en supposant que vous plutôt de trouver quelque chose de pas un tableau et donc de l'entité de résolution des coups de pied dans. PS: auriez-vous l'esprit correctement mise en forme les exemples de code? Rend le post beaucoup mieux à lire et sera probablement attirer plus de gens à répondre.
Merci pour votre réponse. J'ai formaté ma question un peu. Et j'ai l' document pic ci-joint. impappa est créé comme un tableau, artifacts est créé sous forme de tableau et repository est actuellement créé des vides de la matrice de actuellement.
maintenant, quand je vois ça de près..je vois que impapps est de stocker un document au lieu d'un tableau de documents..je pense qu'il y a des problèmes dans mon code. Quand j'ai modifier le impapps dirait qu'il n'est pas stocker dans un tableau, mais comme un document.
Puisque vous êtes ici..pouvez-vous me dire quelle est la bonne façon de mettre à jour une sortie de document dans un tableau..j'ai essayé cela, mais il est juste de le remplacer en tant que document. Criteria crit=new Criteria().andOperator( Criteria.where("_id").is(projectId), Criteria.where("impapps.appid").is(impapp.getAppId()) );Query query=new Query(crit);Update upd=new Update(); upd.set("impapps", impapp);mongoTemplate.updateFirst(query, upd, Project.class)
passons sur le fait monsieur. Je l'ai eu par l'ajout d'un signe$. Merci pour la recherche dans le post. Vous avez d'excellentes vacances!!

OriginalL'auteur VBJ | 2013-12-18