Java mongojack:子类中无法识别的字段

Java mongojack:子类中无法识别的字段,java,mongodb,jackson,pojo,mongo-jackson-mapper,Java,Mongodb,Jackson,Pojo,Mongo Jackson Mapper,我过去常常为mongoDB绘制POJO地图 它可以与单个POJO配合使用。 但是如果我创建了这个的子类,插入失败: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "created" (class de.hbt.dps.data.PoJo), not marked as ignorable (2 known properties: , "_id", "url"]) 这些是课

我过去常常为mongoDB绘制POJO地图

它可以与单个POJO配合使用。 但是如果我创建了这个的子类,插入失败:

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "created" (class de.hbt.dps.data.PoJo), not marked as ignorable (2 known properties: , "_id", "url"])
这些是课程:

public class PoJo {

    @Id
    protected String id;

    protected String url;

    public String getId() {
        return id;
    }

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

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    @Override
    public String toString() {
        return "PoJo [id=" + id + ", url=" + url + "]";
    }    
}

public class SubPoJo extends PoJo {

    private Date created;

    public Date getCreated() {
        return created;
    }

    public void setCreated(Date created) {
        this.created = created;
    }

    @Override
    public String toString() {
        return "PoJo [id=" + id + ", url=" + url + ", created="+created+"]";
    }
}
这是发生异常的代码:

MongoClient = new MongoClient(DB_SERVER, PORT);
DB db = mongoClient.getDB(DATABASE_NAME);
DBCollection dbColl = db.getCollection(SUBSCRIPTION_TABLE_NAME);

JacksonDBCollection<PoJo, String> coll = JacksonDBCollection.wrap(dbColl, PoJo.class, String.class);

// this works:
SubPoJo pojo = new PoJo();
pojo.setUrl("test");
coll.insert(pojo);

// this doesnt work:
SubPoJo pojo1 = new SubPoJo();
pojo1.setUrl("test");
pojo1.setCreated(new Date());
coll.insert(pojo1);
MongoClient=新的MongoClient(DB_服务器,端口);
DB=mongoClient.getDB(数据库名称);
DBCollection dbColl=db.getCollection(订阅表名称);
JacksonDBCollection coll=JacksonDBCollection.wrap(dbColl,PoJo.class,String.class);
//这项工作:
SubPoJo pojo=新的pojo();
pojo.setUrl(“测试”);
coll.insert(pojo);
//这不起作用:
SubPoJo pojo1=新的SubPoJo();
pojo1.setUrl(“测试”);
pojo1.setCreated(newdate());
coll.insert(pojo1);

由于您还没有收到回复,我会尝试在网上询问。