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 "ludovic.bert" <lu...@voila.fr> on 2003/07/02 09:25:43 UTC

1:n Mapping problem with Map

Hello all,

I want to have a 1:n mapping with a HashMap, but i have the following problem:

    - Firstly i defined my classes like this:

public class Client {

	protected Long id = null;
	protected String nom = "";
	protected HashMap contacts = null;

	public Client() {
		super();
		this.contacts = new HashMap();
	}

                     // getters and setters.
}

public class Contact {
	
	private Long id = null;
	private long codeClient = 0;
	private String code = "";
	private String nom = "";
	private String titre = "";
	private String telephone = "";
	private String fax = "";
	private String eMail = "";
	private String service = "";
	private String unite = "";

	public Contact() {
		super();
	}
	// getters and setters
}

    - Secondly i defined the OJB mapping like this:
   <!-- Definitions for com.mps.safari.commun.Client -->
   <class-descriptor class="com.mps.safari.commun.Client" table="client">
      <field-descriptor id="1" name="id" column="CLIENT_ID" jdbc-type="BIGINT" primarykey="true" autoincrement="true"/>
      <field-descriptor id="2" name="nom" column="NOM" jdbc-type="VARCHAR"/>
      <collection-descriptor name="contacts" collection-class="org.apache.ojb.odmg.collections.DMapImpl" element-class-
ref="com.mps.safari.commun.Contact" auto-update="true" auto-delete="true">
      	<inverse-foreignkey field-ref="codeClient"/>
      </collection-descriptor>
   </class-descriptor>

   <!-- Definitions for com.mps.safari.commun.Contact -->
   <class-descriptor class="com.mps.safari.commun.Contact" table="contact">
	<field-descriptor id="1" name="id" column="CONTACT_ID" jdbc-type="BIGINT" primarykey="true" 
autoincrement="true"/>
	<field-descriptor id="2" name="codeSociete" column="CODE_SOCIETE" jdbc-type="BIGINT"/>
    <field-descriptor id="3" name="codeClient" column="CODE_CLIENT" jdbc-type="BIGINT"/>
    <field-descriptor id="4" name="code" column="CODE" jdbc-type="VARCHAR"/>
    <field-descriptor id="5" name="nom" column="NOM" jdbc-type="VARCHAR"/>
    <field-descriptor id="6" name="titre" column="TITRE" jdbc-type="VARCHAR"/>
    <field-descriptor id="7" name="telephone" column="TELEPHONE" jdbc-type="VARCHAR"/>
    <field-descriptor id="8" name="fax" column="FAX" jdbc-type="VARCHAR"/>
    <field-descriptor id="9" name="eMail" column="EMAIL" jdbc-type="VARCHAR"/>
    <field-descriptor id="10" name="service" column="SERVICE" jdbc-type="VARCHAR"/>
    <field-descriptor id="11" name="unite" column="UNITE" jdbc-type="VARCHAR"/>
   </class-descriptor>

   - Finally when i get a Client i have the following error message : 
[DEFAULT] WARN: org.apache.ojb.broker.metadata.ClassDescriptor: Could not found autoincrement attribute for class: 
org.apache.ojb.odmg.collections.DMapImpl
[DEFAULT] ERROR: DMapImpl: Generation of new id failed
null
java.lang.NullPointerException
	at org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueValue(Unknown Source)
	at org.apache.ojb.odmg.collections.DMapImpl.generateNewId(Unknown Source)
	at org.apache.ojb.odmg.collections.DMapImpl.<init>(Unknown Source)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
	at java.lang.Class.newInstance0(Class.java:296)
	at java.lang.Class.newInstance(Class.java:249)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollection(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollections(Unknown Source)
	at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown Source)
	at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
	at com.mps.safari.util.dbaccess.PersistenceManager.getObjectById(PersistenceManager.java:112)
	at TestOjb.main(TestOjb.java:16)
[org.apache.ojb.broker.accesslayer.RsIterator] ERROR: null
java.lang.NullPointerException
	at org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueValue(Unknown Source)
	at org.apache.ojb.odmg.collections.DMapImpl.generateNewId(Unknown Source)
	at org.apache.ojb.odmg.collections.DMapImpl.<init>(Unknown Source)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
	at java.lang.Class.newInstance0(Class.java:296)
	at java.lang.Class.newInstance(Class.java:249)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollection(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollections(Unknown Source)
	at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown Source)
	at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
	at com.mps.safari.util.dbaccess.PersistenceManager.getObjectById(PersistenceManager.java:112)
	at TestOjb.main(TestOjb.java:16)
rethrown as org.apache.ojb.broker.PersistenceBrokerException
	at org.apache.ojb.odmg.collections.DMapImpl.generateNewId(Unknown Source)
	at org.apache.ojb.odmg.collections.DMapImpl.<init>(Unknown Source)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
	at java.lang.Class.newInstance0(Class.java:296)
	at java.lang.Class.newInstance(Class.java:249)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollection(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollections(Unknown Source)
	at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown Source)
	at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
	at com.mps.safari.util.dbaccess.PersistenceManager.getObjectById(PersistenceManager.java:112)
	at TestOjb.main(TestOjb.java:16)
Caused by: java.lang.NullPointerException
	at org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueValue(Unknown Source)
	... 22 more
rethrown as org.apache.ojb.broker.PersistenceBrokerException
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollection(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollections(Unknown Source)
	at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown Source)
	at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByQuery(Unknown Source)
	at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
	at com.mps.safari.util.dbaccess.PersistenceManager.getObjectById(PersistenceManager.java:112)
	at TestOjb.main(TestOjb.java:16)
Caused by: org.apache.ojb.broker.PersistenceBrokerException
	at org.apache.ojb.odmg.collections.DMapImpl.generateNewId(Unknown Source)
	at org.apache.ojb.odmg.collections.DMapImpl.<init>(Unknown Source)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
	at java.lang.Class.newInstance0(Class.java:296)
	at java.lang.Class.newInstance(Class.java:249)
	at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source)
	... 13 more
Caused by: java.lang.NullPointerException
	at org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueValue(Unknown Source)
	... 22 more
java.lang.ArrayIndexOutOfBoundsException
	at org.apache.commons.lang.exception.NestableDelegate.getThrowable(NestableDelegate.java:208)
	at org.apache.commons.lang.exception.NestableRuntimeException.getThrowable
(NestableRuntimeException.java:162)
	at com.mps.safari.util.dbaccess.QueryExceptionHandler.handleException(QueryExceptionHandler.java:29)
	at com.mps.safari.util.dbaccess.PersistenceManager.getObjectById(PersistenceManager.java:116)
	at TestOjb.main(TestOjb.java:16)
Exception in thread "main"

It's the first time i use OJB so i would like to know how to do a 1:n mapping using HashMap and if it is possible.

Thanks for your help.

------------------------------------------

Faites un voeu et puis Voila ! www.voila.fr 



Re: 1:n Mapping problem with Map

Posted by Armin Waibel <ar...@code-au-lait.de>.
Hi,

> [DEFAULT] WARN: org.apache.ojb.broker.metadata.ClassDescriptor: Could
not > found autoincrement attribute for class:
> org.apache.ojb.odmg.collections.DMapImpl

Do you really use the shipped repository_internal.xml file?
The warning says that there is no autoincrement field declared.
Do you mixed up different versions of OJB?


<class-descriptor
      class="org.apache.ojb.odmg.collections.DListImpl"
      table="OJB_DLIST"
   >
      <field-descriptor
         name="id"
         column="ID"
         jdbc-type="INTEGER"
         primarykey="true"
         autoincrement="true"    <===== !!!
      />
.....

regards,
Armin

----- Original Message -----
From: "ludovic.bert" <lu...@voila.fr>
To: "ojb-user" <oj...@db.apache.org>
Sent: Wednesday, July 02, 2003 9:25 AM
Subject: 1:n Mapping problem with Map


Hello all,

I want to have a 1:n mapping with a HashMap, but i have the following
problem:

    - Firstly i defined my classes like this:

public class Client {

protected Long id = null;
protected String nom = "";
protected HashMap contacts = null;

public Client() {
super();
this.contacts = new HashMap();
}

                     // getters and setters.
}

public class Contact {

private Long id = null;
private long codeClient = 0;
private String code = "";
private String nom = "";
private String titre = "";
private String telephone = "";
private String fax = "";
private String eMail = "";
private String service = "";
private String unite = "";

public Contact() {
super();
}
// getters and setters
}

    - Secondly i defined the OJB mapping like this:
   <!-- Definitions for com.mps.safari.commun.Client -->
   <class-descriptor class="com.mps.safari.commun.Client"
table="client">
      <field-descriptor id="1" name="id" column="CLIENT_ID"
jdbc-type="BIGINT" primarykey="true" autoincrement="true"/>
      <field-descriptor id="2" name="nom" column="NOM"
jdbc-type="VARCHAR"/>
      <collection-descriptor name="contacts"
collection-class="org.apache.ojb.odmg.collections.DMapImpl"
element-class-
ref="com.mps.safari.commun.Contact" auto-update="true"
auto-delete="true">
      <inverse-foreignkey field-ref="codeClient"/>
      </collection-descriptor>
   </class-descriptor>

   <!-- Definitions for com.mps.safari.commun.Contact -->
   <class-descriptor class="com.mps.safari.commun.Contact"
table="contact">
<field-descriptor id="1" name="id" column="CONTACT_ID"
jdbc-type="BIGINT" primarykey="true"
autoincrement="true"/>
<field-descriptor id="2" name="codeSociete" column="CODE_SOCIETE"
jdbc-type="BIGINT"/>
    <field-descriptor id="3" name="codeClient" column="CODE_CLIENT"
jdbc-type="BIGINT"/>
    <field-descriptor id="4" name="code" column="CODE"
jdbc-type="VARCHAR"/>
    <field-descriptor id="5" name="nom" column="NOM"
jdbc-type="VARCHAR"/>
    <field-descriptor id="6" name="titre" column="TITRE"
jdbc-type="VARCHAR"/>
    <field-descriptor id="7" name="telephone" column="TELEPHONE"
jdbc-type="VARCHAR"/>
    <field-descriptor id="8" name="fax" column="FAX"
jdbc-type="VARCHAR"/>
    <field-descriptor id="9" name="eMail" column="EMAIL"
jdbc-type="VARCHAR"/>
    <field-descriptor id="10" name="service" column="SERVICE"
jdbc-type="VARCHAR"/>
    <field-descriptor id="11" name="unite" column="UNITE"
jdbc-type="VARCHAR"/>
   </class-descriptor>

   - Finally when i get a Client i have the following error message :
[DEFAULT] WARN: org.apache.ojb.broker.metadata.ClassDescriptor: Could
not found autoincrement attribute for class:
org.apache.ojb.odmg.collections.DMapImpl
[DEFAULT] ERROR: DMapImpl: Generation of new id failed
null
java.lang.NullPointerException
at
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueVal
ue(Unknown Source)
at org.apache.ojb.odmg.collections.DMapImpl.generateNewId(Unknown
Source)
at org.apache.ojb.odmg.collections.DMapImpl.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorA
ccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons
tructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:296)
at java.lang.Class.newInstance(Class.java:249)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollection(
Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollections
(Unknown Source)
at
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unkn
own Source)
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getObjectByQu
ery(Unknown Source)
at
com.mps.safari.util.dbaccess.PersistenceManager.getObjectById(Persistenc
eManager.java:112)
at TestOjb.main(TestOjb.java:16)
[org.apache.ojb.broker.accesslayer.RsIterator] ERROR: null
java.lang.NullPointerException
at
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueVal
ue(Unknown Source)
at org.apache.ojb.odmg.collections.DMapImpl.generateNewId(Unknown
Source)
at org.apache.ojb.odmg.collections.DMapImpl.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorA
ccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons
tructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:296)
at java.lang.Class.newInstance(Class.java:249)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollection(
Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollections
(Unknown Source)
at
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unkn
own Source)
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getObjectByQu
ery(Unknown Source)
at
com.mps.safari.util.dbaccess.PersistenceManager.getObjectById(Persistenc
eManager.java:112)
at TestOjb.main(TestOjb.java:16)
rethrown as org.apache.ojb.broker.PersistenceBrokerException
at org.apache.ojb.odmg.collections.DMapImpl.generateNewId(Unknown
Source)
at org.apache.ojb.odmg.collections.DMapImpl.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorA
ccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons
tructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:296)
at java.lang.Class.newInstance(Class.java:249)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollection(
Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollections
(Unknown Source)
at
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unkn
own Source)
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getObjectByQu
ery(Unknown Source)
at
com.mps.safari.util.dbaccess.PersistenceManager.getObjectById(Persistenc
eManager.java:112)
at TestOjb.main(TestOjb.java:16)
Caused by: java.lang.NullPointerException
at
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueVal
ue(Unknown Source)
... 22 more
rethrown as org.apache.ojb.broker.PersistenceBrokerException
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollection(
Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollections
(Unknown Source)
at
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unkn
own Source)
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getObjectByQu
ery(Unknown Source)
at
com.mps.safari.util.dbaccess.PersistenceManager.getObjectById(Persistenc
eManager.java:112)
at TestOjb.main(TestOjb.java:16)
Caused by: org.apache.ojb.broker.PersistenceBrokerException
at org.apache.ojb.odmg.collections.DMapImpl.generateNewId(Unknown
Source)
at org.apache.ojb.odmg.collections.DMapImpl.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorA
ccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons
tructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:296)
at java.lang.Class.newInstance(Class.java:249)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuer
y(Unknown Source)
... 13 more
Caused by: java.lang.NullPointerException
at
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueVal
ue(Unknown Source)
... 22 more
java.lang.ArrayIndexOutOfBoundsException
at
org.apache.commons.lang.exception.NestableDelegate.getThrowable(Nestable
Delegate.java:208)
at
org.apache.commons.lang.exception.NestableRuntimeException.getThrowable
(NestableRuntimeException.java:162)
at
com.mps.safari.util.dbaccess.QueryExceptionHandler.handleException(Query
ExceptionHandler.java:29)
at
com.mps.safari.util.dbaccess.PersistenceManager.getObjectById(Persistenc
eManager.java:116)
at TestOjb.main(TestOjb.java:16)
Exception in thread "main"

It's the first time i use OJB so i would like to know how to do a 1:n
mapping using HashMap and if it is possible.

Thanks for your help.

------------------------------------------

Faites un voeu et puis Voila ! www.voila.fr



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