Hmm.. curiouser and curiouser:
I'm reorganising the entity setup, and now I get:

org.apache.cayenne.CayenneRuntimeException: [v.3.1M4-SNAPSHOT Dec 11 2011 
10:30:28] ObjAttribute 'number' does not have a corresponding DbAttribute

My setup, below, links the two:
id, in this case, is the magic "number" - the name of my POJO value 
field, of type int.

        // represents a database table
        DbEntity dbEntity = new DbEntity(entityName);

        // Represents a domain object
        ObjEntity objEntity = new ObjEntity(entityName);

        dataMap.addDbEntity(dbEntity);
        dataMap.addObjEntity(objEntity);
        // Link the table to the domain object
        objEntity.setDbEntity(dbEntity);
        objEntity.setClassName(className);

        // Create fields
        List<OneToOneAssociation> assocs = specification.getProperties();
        for (OneToOneAssociation assoc : assocs) {
            final String id = assoc.getId(); // number
            final String type = assoc.getSpecification().getFullIdentifier(); 
// int

            DbAttribute dbAttribute = new DbAttribute(id, 
java.sql.Types.INTEGER, dbEntity);
            dbEntity.addAttribute(dbAttribute);

            ObjAttribute objAttribute = new ObjAttribute(id, type, objEntity);
            objEntity.addAttribute(objAttribute);
        }

        dataMap.addObjEntity(objEntity);
        dataMap.addDbEntity(dbEntity);


On 11 Dec 2011 at 21:05, Andrus Adamchik wrote:

> Great to hear there a workaround. Object structure is a pretty fundamental 
> issue, so I was afraid we may get stuck here.
> 
> Cheers,
> Andrus 
> 


Reply via email to