FAQ
Hey all,

I'm still on my quest to get this stuff loaded dynamically. Here's what I'm
doing now, first I gutted the map xml file so that it looks like this:

TestProjectSourceMap.map.xml
<?xml version="1.0" encoding="utf-8"?>
<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap
http://cayenne.apache.org/schema/3.0/modelMap.xsd"
project-version="3.0.0.1">
<property name="defaultPackage" value="org.example.cayenne.persistent"/>

</data-map>


Built a new Map xml file that had all of the real class associations and put
it someplace else, that file looks like this

TestProjectNewMap.map.xml
<?xml version="1.0" encoding="utf-8"?>
<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap
http://cayenne.apache.org/schema/3.0/modelMap.xsd"
project-version="3.0.0.1">
<property name="defaultPackage" value="org.example.cayenne.persistent"/>
<db-entity name="ARTIST">
<db-attribute name="ArtistID" type="BIGINT" isPrimaryKey="true"
isMandatory="true"/>
<db-attribute name="Name" type="VARCHAR" length="255"/>
</db-entity>
....
<obj-relationship name="artist" source="Painting" target="Artist"
deleteRule="Nullify" db-relationship-path="artist"/>
</data-map>


All I want to do is load in this OTHER xml file, right now I'm getting
"Class is not mapped with Cayenne:
main.java.org.example.cayenne.persistent.Artist" which is because it has not
loaded my other xml file. Here is what I'm doing:


ObjectContext context = DataContext.createDataContext();

MapLoader ml = new MapLoader();

DataMap dataMap = ml.loadDataMap(new InputSource(new
FileInputStream("C:\\eclipse_cayenne\\tutorial\\src\\main\\resources\\Map.map.xml")));

//This will bomb because I havent DONE anything with the datamap

Artist picasso = context.newObject(Artist.class);

So what do I do with that DataMap to get it loaded into the context? I've
been looking but I Don't see the method call I need to make to push that
DataMap anywhere. Note the other files (cayenne.xml,
TestProjectNode.driver.xml) remain unchanged.

Any help would be greatly appreciated.

Search Discussions

Discussion Posts

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 1 of 6 | next ›
Discussion Overview
groupuser @
categoriescayenne
postedNov 2, '10 at 1:59p
activeNov 2, '10 at 6:33p
posts6
users2
websitecayenne.apache.org

People

Translate

site design / logo © 2022 Grokbase