FAQ
Hm, it doesn't work. I can perform a SQL query, it returns the correct
number of records, but the properties are NULL.

SelectQuery q = new SelectQuery("Projects");
List projectsTest = this.context.get("test").performQuery(q);

for (Object o : projectsTest) {
DataObject dObj = (DataObject) o;
System.out.println(dObj.readProperty("columnname"));
}

I have defined a DataContext "test" as:

DataMap map = new DataMap(mapName + " map");

DbEntity entity = new DbEntity("tablename");
map.addDbEntity(entity);

DbAttribute attr = new CharacterDbAttribute("columnname", 20, true);
entity.addAttribute(attr);

// more attributes here
// ...

ObjEntity objEntity = new ObjEntity("Projects");
objEntity.setDbEntity(entity);
objEntity.setClassName(CayenneDataObject.class.getName()); // default
map.addObjEntity(objEntity);

DataNode node = new DataNode(mapName + " node");
node.addDataMap(map);
node.setDataSource(store.getDataSource());
node.setAdapter(new AutoAdapter(store.getDataSource()));

DataDomain domain = new DataDomain(mapName + " domain");
domain.addNode(node);
domain.addMap(map);

this.context.put(mapName, domain.createDataContext());

The class CharacterDbAttribute sets the type to VARCHAR, mandatory and
length properties. The field "store" holds the data sources (instances
of PoolManager). mapName = "test".

I think, I don't need a full-defined ObjectEntity, because it is
dynamic. I set only the class name (default) and the DbEntity
instance. So where I have forgotten a call?

Thanks a lot
André

Andrus Adamchik wrote:
On Jan 21, 2011, at 2:53 PM, André Rothe wrote:

Should I set the name explicitly to
"org.apache.cayenne.CayenneDataObject" (or subclasses)?
Setting org.apache.cayenne.CayenneDataObject is optional (this is
the default). If you want to use your own subclass, definitely call
objEntity.setClassName(MyClass.class.getName()).

Andrus

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 5 of 7 | next ›
Discussion Overview
groupuser @
categoriescayenne
postedJan 21, '11 at 9:26a
activeJan 24, '11 at 10:21a
posts7
users2
websitecayenne.apache.org

2 users in discussion

André Rothe: 4 posts Andrus Adamchik: 3 posts

People

Translate

site design / logo © 2022 Grokbase