Hallo Bruce,
Here is the mapping-File
<?xml version="1.0"?>
<mapping>
<class name="jdoproj.Parameter" identity="id">
<map-to table="Parameter"/>
<field name="id" type="long">
<sql name="pa_id" type="integer" />
</field>
<field name="art" type="string">
<sql name="pa_name" type="varchar" />
</field>
<field name="text" type="string">
<sql name="pa_wert" type="varchar" />
</field>
</class>
<class name="jdoproj.User" identity="id">
<map-to table="User"/>
<field name="id" type="long">
<sql name="us_id" type="integer" />
</field>
<field name="log" type="string">
<sql name="us_login" type="varchar" />
</field>
<field name="pwd" type="string">
<sql name="us_pass" type="varchar" />
</field>
<field name="nachname" type="string">
<sql name="us_name" type="varchar" />
</field>
<field name="vorname" type="string">
<sql name="us_vorname" type="varchar" />
</field>
<field name="telefon" type="string">
<sql name="us_telefon" type="varchar" />
</field>
<field name="fax" type="string">
<sql name="us_fax" type="varchar" />
</field>
<field name="email" type="string">
<sql name="us_email" type="varchar" />
</field>
<field name="kuerzel" type="string">
<sql name="us_kuerzel" type="varchar" />
</field>
<field name="rechtsform" type="string">
<sql name="us_rechtsform" type="varchar" />
</field>
<field name="unterschrift" type="string">
<sql name="us_unterschrift" type="varchar" />
</field>
<field name="gruppenLeiter_id" type="long">
<sql name="us_gl_id" type="integer" />
</field>
<field name="abteilungsLeiter_id" type="long">
<sql name="us_al_id" type="integer" />
</field>
</class>
</mapping>
/* This is a part of client-application */
{...}
User us = User.getUser(23);
us.setNachname("Riedley");
us.setVorname("Tom");
System.out.println("Here");
us.saveUser();
System.out.println("There");
{...}
/* I get the output "here", and than the exception */
/* Here is the class User.*/
public class User extends ActionForm implements TimeStampable {
//Daten, die den Spalten in der Datenbank entsprechen
//===================================================
private long id;
private String log;
private String pwd;
private String vorname;
private String nachname;
private String telefon;
private String fax;
private String email;
private String kuerzel;
private String rechtsform;
private String unterschrift;
private long gruppenLeiter_id;
private long abteilungsLeiter_id;
public static User getUser(long id)
throws DatabaseNotFoundException, PersistenceException {
User result = new User();
String xml_map ="./WEB-INF/db_map.xml";
JDO jdo;
Database db;
jdo = new JDO();
jdo.setDatabaseName(DB_NAME);
jdo.setConfiguration(xml_map);
jdo.setClassLoader(result.getClass().getClassLoader());
db = jdo.getDatabase();
db.begin();
OQLQuery query =
db.getOQLQuery(
"SELECT u FROM
de.mvv.k7.spk.dataobjects.User u "
+ "WHERE id = $1");
query.bind(id);
QueryResults res = query.execute();
if (res.hasMore()) {
result = (User) res.next();
}
db.commit();
db.close();
result.mandant = mandant;
result.xml_map = xml_map;
return result;
}
public void saveUser()
throws DatabaseNotFoundException, PersistenceException {
String xml_map ="./WEB-INF/db_map.xml" ;
jdo = new JDO();
jdo.setDatabaseName(DB_NAME);
jdo.setConfiguration(xml_map);
jdo.setClassLoader(this.getClass().getClassLoader());
db = jdo.getDatabase();
db.begin();
db.update(this);
OQLQuery query =
db.getOQLQuery(
"SELECT u.id FROM de.mvv.k7.spk.User "
+ "WHERE u.nachname = $1 AND "
+ "u.vorname = $2");
QueryResults res = query.execute();
if (res.hasMore()) {
this.id = ((Long) res.next()).longValue();
}
db.commit();
db.close();
}
//all getters and setters are public
}
Hope you have an idea.
Thank you, Ingrid
-----Urspr�ngliche Nachricht-----
Von: Bruce Snyder [mailto:[EMAIL PROTECTED]]
Gesendet: Freitag, 29. November 2002 16:42
An: [EMAIL PROTECTED]
Betreff: Re: [castor-dev] Second database access cause a QueryException
This one time, at band camp, Ingrid Duda said:
ID>this is my first project with Castor JDO. The Problem I have: every
ID>time i have a second access to the database it cause the following
ID>Exception:
ID>org.exolab.castor.jdo.QueryException: Could not find class
jdoproj.User
ID> at
org.exolab.castor.jdo.oql.ParseTreeWalker.checkFromPart(Unknown Source)
ID> at org.exolab.castor.jdo.oql.ParseTreeWalker.checkErrors(Unknown
Source)
ID> at org.exolab.castor.jdo.oql.ParseTreeWalker.<init>(Unknown
Source)
ID> at org.exolab.castor.jdo.engine.OQLQueryImpl.create(Unknown
Source)
ID> at org.exolab.castor.jdo.engine.DatabaseImpl.getOQLQuery(Unknown
Source)
ID> at jdoproj.User.saveUser(User.java:223)
ID> at Test.main(Test.java:25)
Ingrid,
Based on the above exception, it would appear that there is something
wrong with the mapping descriptor. Can you post the relevant portions of
your mapping descriptor and your client code for us to see?
Bruce
--
perl -e 'print
unpack("u30","<0G)U8V4\@4VYY9&5R\"F9E<G)E=\$\!F<FEI+F-O;0\`\`");'
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev