Hi!
Ich bringe es einfach nicht zusammen dass ich aus einer Tabelle "I80050" einfach nur bestimmte Spalten zu lesen - Sprich der Response der DB wird dann nicht auf die Model Klasse der Tabelle "I80050" gecastet sondern es wird ein Object zurückgegeben, welches ich auch nicht auf das richtige Model casten kann. Heißt das nun dass ich extra Model anlegen muss wenn ich nicht alle Spalten lesen möchte (kann ich mir nicht vorstellen)? Wenn ich alle Spalten lese funktioniert alles..
Hier mal mein Code:
Hier das Statement zum laden der Daten
hier die Konstante von oben (es werden nicht alle Spalten zum Lesen verwendet):
mfg
Ich bringe es einfach nicht zusammen dass ich aus einer Tabelle "I80050" einfach nur bestimmte Spalten zu lesen - Sprich der Response der DB wird dann nicht auf die Model Klasse der Tabelle "I80050" gecastet sondern es wird ein Object zurückgegeben, welches ich auch nicht auf das richtige Model casten kann. Heißt das nun dass ich extra Model anlegen muss wenn ich nicht alle Spalten lesen möchte (kann ich mir nicht vorstellen)? Wenn ich alle Spalten lese funktioniert alles..
Hier mal mein Code:
Hier das Statement zum laden der Daten
Code:
public static List<I80050Model> readBatchData() {
Session session = HibernateUtil.getCurrentSession();
Transaction tx = null;
ArrayList<I80050Model> values = null;
try {
tx = session.beginTransaction();
/* read from db */
values = (ArrayList<I80050Model>)
session.createQuery(I80050DB.SELECT_BATCH_COLUMNS).list();
/* commit and close session */
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
//FIXME Logging einbauen
e.printStackTrace();
} finally {
session = null;
tx = null;
}
return values;
}
hier die Konstante von oben (es werden nicht alle Spalten zum Lesen verwendet):
Code:
static {
/* set batch-select statement */
StringBuffer sb = new StringBuffer();
sb.append(" SELECT ");
sb.append(" id, title, forename, surname, email, valid, organization, review, locality, cc, zip, street, ");
sb.append(" geoX, geoY, geoLat, geoLong, geo, change, constructed");
sb.append(" FROM ");
sb.append(I80050DB.TABLE);
sb.append(" WHERE ");
sb.append(I80050DB.COLUMN_VALID + " = 1 ");
sb.append(" and (" + I80050DB.COLUMN_GEO + " <> -1 ");
sb.append(" or " + I80050DB.COLUMN_GEO + " IS NULL) ");
I80050DB.SELECT_BATCH_COLUMNS = sb.toString();
mfg