# OJB/QueryBySQL



## Snape (21. Jan 2009)

Tach,
ich eier schon eine Weile herum und finde keine Antwort auf eine brennende Frage bzw. Problem.

Man nehme Code dieser Art:

```
Query query = new QueryBySQL(User.class, "select * from usertable where name like 'junghans%'"); 
   return this.broker.getCollectionByQuery(query);
```
Wenn ich das ausführe, fliege ich bei der zweiten Zeile raus. broker ist PersistenceBroker.

Welche Voraussetzungen oder Bedingungen muss die zu übergebende Zielklasse bei new QueryBySQL(...) erfüllen, damit mir die zweite Zeile nicht mehr um die Ohren fliegt? Offenbar kann ich nicht irgendeine x-beliebige Klasse dafür "missbrauchen".


----------



## Ebenius (21. Jan 2009)

Wie fliegst Du denn raus?


----------



## Snape (22. Jan 2009)

PersistenceException: Persistence operation failed

ist die erste Fehlermeldung. Weiter geht es mit

Caused by: org.apache.ojb.broker.PersistenceBrokerSQLException: java.sql.SQLException: ORA-00904: "A"."TERMINATED_AT": ungültiger Bezeichner

Die genaue Select-Abfrage lautet übrigens:
Select *  from USERANTRAG a  where  a.USER_ID = 'TESTUSER' and a.TERMINATED_AT is null

TERMINATED_AT ist eine gültige, vorhandene Spalte in der Tabelle.


----------



## Ebenius (22. Jan 2009)

Und wenn Du das select genauso in sqlplus wirfst passiert das gleiche?


----------



## Snape (22. Jan 2009)

Nein, das funktioniert einwandfrei mit

1 Zeilen zurückgegeben in 0,05 Sekunden


EDITH: Fehler gefunden, jede Menge Asche auf mein Haupt.


----------

