You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Frank Würffel <fr...@ptd.siemens.de> on 2004/12/15 10:59:44 UTC

collection objects have all null attributes

Hi,

My Problem is the following. When I query a single Object using QueryByCriteria 
all is fine. If I query for a List using QueryByCrit(Class, null) I get a 
Collection of the right Objects, correct amount too, but all Attributes are 
null.

-------------------------------------------------
repository_user.xml exerpt
-------------------------------------------------
	<!-- Doc Begin -->
	<class-descriptor
		class="com.siemens.pct.ptd.oi.processview.doc.Doc"
	>
		<extent-class class-
ref="com.siemens.pct.ptd.oi.processview.doc.BaseDoc" />
	</class-descriptor>
	<!-- Doc End -->
	
	<!-- BaseDoc Begin -->
	<class-descriptor
		class="com.siemens.pct.ptd.oi.processview.doc.BaseDoc"
	>
		<extent-class class-
ref="com.siemens.pct.ptd.oi.processview.doc.DocMgmtDoc" />
	</class-descriptor>
	<!-- BaseDoc End -->

	<!-- DocMgmtDoc Begin -->
	<class-descriptor
		class="com.siemens.pct.ptd.oi.processview.doc.DocMgmtDoc"
		table="DOCUMENT"
	>
		<extent-class class-
ref="com.siemens.pct.ptd.oi.processview.doc.TemplateDoc" />
		<extent-class class-
ref="com.siemens.pct.ptd.oi.processview.docWf.DocMgmtWfDoc" />
		<field-descriptor
			name="docMgmtDockeyId"
			column="DOCUMENT_ID"
			jdbc-type="INTEGER"
			primarykey="true"
			access="anonymous"
		/>
		<reference-descriptor
			name="key"
			class-
ref="com.siemens.pct.ptd.oi.processview.doc.DocKey"
			auto-retrieve="true"
			auto-update="object"
			auto-delete="object"
		>
			<foreignkey field-ref="docMgmtDockeyId" />
		</reference-descriptor>
		<field-descriptor
			name="projectKey"
			column="PROJECT_ID"
			jdbc-type="VARCHAR"
		
	conversion="com.siemens.pct.ptd.oi.processview.ojb.conversion.ProjectKey
2StringConversion"
		/>
		<field-descriptor
			name="ojbConcreteClass"
			column="CLASS_NAME"
			jdbc-type="VARCHAR"
		/>
		<field-descriptor
			name="docMgmtKeyId"
			column="DOC_MGMT_KEY_ID"
			jdbc-type="INTEGER"
			access="anonymous"
		/>
		<reference-descriptor
			name="docMgmtKey"
			class-
ref="com.siemens.pct.ptd.oi.processview.docuCockpit.jcoImpl.JcoDocMgmtKey"
			auto-retrieve="true"
			auto-update="object"
			auto-delete="link"
		>
			<foreignkey field-ref="docMgmtKeyId" />
		</reference-descriptor>	
	</class-descriptor>
	<!-- DocMgmtDoc End -->

	<!-- TemplateDoc Begin -->
	<class-descriptor
		class="com.siemens.pct.ptd.oi.processview.doc.TemplateDoc"
		table="DOCUMENT"
	>
		<field-descriptor
			name="templateDocKeyId"
			column="DOCUMENT_ID"
			jdbc-type="INTEGER"
			primarykey="true"
			access="anonymous"
		/>
		<reference-descriptor
			name="key"
			class-
ref="com.siemens.pct.ptd.oi.processview.doc.DocKey"
			auto-retrieve="true"
			auto-update="object"
			auto-delete="object"
		>
			<foreignkey field-ref="templateDocKeyId" />
		</reference-descriptor>
		<field-descriptor
			name="ojbConcreteClass"
			column="CLASS_NAME"
			jdbc-type="VARCHAR"
		/>
		<field-descriptor
			name="projectKey"
			column="PROJECT_ID"
			jdbc-type="VARCHAR"
		
	conversion="com.siemens.pct.ptd.oi.processview.ojb.conversion.ProjectKey
2StringConversion"
		/>
		<field-descriptor
			name="templatedocMgmtKeyId"
			column="DOC_MGMT_KEY_ID"
			jdbc-type="INTEGER"
			access="anonymous"
		/>
		<reference-descriptor
			name="docMgmtKey"
			class-
ref="com.siemens.pct.ptd.oi.processview.docuCockpit.jcoImpl.JcoDocMgmtKey"
			auto-retrieve="true"
			auto-update="object"
			auto-delete="link"
		>
			<foreignkey field-ref="templatedocMgmtKeyId" />
		</reference-descriptor>	
	</class-descriptor>
	<!-- TemplateDoc End -->

	<!-- DocMgmtWfDoc Begin -->
	<class-descriptor
		class="com.siemens.pct.ptd.oi.processview.docWf.DocMgmtWfDoc"
		table="DOCUMENT"
	>
		<field-descriptor
			name="wfDocKeyId"
			column="DOCUMENT_ID"
			jdbc-type="INTEGER"
			primarykey="true"
			access="anonymous"
		/>
		<reference-descriptor
			name="key"
			class-
ref="com.siemens.pct.ptd.oi.processview.doc.DocKey"
			auto-retrieve="true"
			auto-update="object"
			auto-delete="object"
		>
			<foreignkey field-ref="wfDocKeyId" />
		</reference-descriptor>
		<field-descriptor
			name="projectKey"
			column="PROJECT_ID"
			jdbc-type="VARCHAR"
		
	conversion="com.siemens.pct.ptd.oi.processview.ojb.conversion.ProjectKey
2StringConversion"
		/>
		<field-descriptor
			name="ojbConcreteClass"
			column="CLASS_NAME"
			jdbc-type="VARCHAR"
		/>
		<field-descriptor
			name="wfdocMgmtKeyId"
			column="DOC_MGMT_KEY_ID"
			jdbc-type="INTEGER"
			access="anonymous"
		/>
		<reference-descriptor
			name="docMgmtKey"
			class-
ref="com.siemens.pct.ptd.oi.processview.docuCockpit.jcoImpl.JcoDocMgmtKey"
			auto-retrieve="true"
			auto-update="object"
			auto-delete="link"
		>
			<foreignkey field-ref="wfdocMgmtKeyId" />
		</reference-descriptor>	
	</class-descriptor>
	<!-- DocMgmtWfDoc End -->


----------------------------------------
broker calls made
----------------------------------------
---> works perfectly for all extents
            broker = PersistenceBrokerFactory.defaultPersistenceBroker();
            Criteria crit = new Criteria();
            crit.addEqualTo("key.id", docKey.getString());
            Query q = new QueryByCriteria(DocMgmtDoc.class, crit);
            docMgmtDoc = (DocMgmtDoc) broker.getObjectByQuery(q);

---> delivers list of correctly typed objects with null attributes
            broker = PersistenceBrokerFactory.defaultPersistenceBroker();
            Criteria crit = new Criteria();
            crit.addEqualTo("ojbConcreteClass", TemplateDoc.class.getName());
            Query q = new QueryByCriteria(TemplateDoc.class, crit);
            allTemplates = (Collection) broker.getCollectionByQuery
(TemplateDoc.class, q);

--> or
            broker = PersistenceBrokerFactory.defaultPersistenceBroker();
            Query q = new QueryByCriteria(TemplateDoc.class, null);
            allTemplates = (Collection) broker.getCollectionByQuery(q);

If anyone could help this would be very appreciated.

Thank you.
Frank


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org