org.codehaus.jackson.carte.JsonMappingException: ne Peut pas instancier une valeur de type [type simple, les modèles de classe.Job] de Chaîne JSON

- je utiliser le playframework et a essayé de désérialiser certains json en un objet java.
Il a bien fonctionné, sauf que la relation dans le modèle. Je suis l'exception suivante

entrez le code hereorg.codehaus.jackson.carte.JsonMappingException: ne Peut pas
instancier une valeur de type [type simple, les modèles de classe.Job] de JSON
Chaîne; pas une seule Chaîne de constructeur par défaut/méthode (par référence
chaîne: modèles.Un document["job"])

j'ai pensé jackson en combinaison avec le jeu pouvait le faire:

c'est le json

{"name":"asd","filepath":"blob","contenttype":"image/png","description":"asd","job":"1"}

et mon code, rien de spécial:

public static Result getdata(String dataname) {
        ObjectMapper mapper = new ObjectMapper();
        try {
            Docfile docfile = mapper.readValue((dataname), Docfile.class);
            System.out.println(docfile.name);
            docfile.save();

        } catch (JsonGenerationException e) {

            e.printStackTrace();

        } catch (JsonMappingException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

        return ok();
    }

Espère qu'il y aura de l'aide pour moi, merci
Markus

Mise à JOUR:

D'Un Document Bean:

package models;

import java.util.*;

import play.db.jpa.*;
import java.lang.Object.*;
import play.data.format.*;
import play.db.ebean.*;
import play.db.ebean.Model.Finder;
import play.data.validation.Constraints.*;
import play.data.validation.Constraints.Validator.*;

import javax.persistence.*;

import com.avaje.ebean.Page;

@Entity
public class Docfile extends Model {

    @Id
    public Long id;

    @Required
    public String name;

    @Required
    public String description;

    public String filepath;

    public String contenttype;

    @ManyToOne
    public Job job;

    public static Finder<Long,Docfile> find = new Model.Finder(
            Long.class, Docfile.class
            );




    public static List<Docfile> findbyJob(Long job) {
        return find.where()
                .eq("job.id", job)
                .findList();
    }

    public static Docfile create (Docfile docfile, Long jobid) {
        System.out.println(docfile);
        docfile.job = Job.find.ref(jobid);
        docfile.save();
        return docfile;
    }
}
Veuillez ajouter le code source du fichier doc bean.
Mis à jour le fichier doc bean

OriginalL'auteur Markus Pleines | 2012-06-20