ThirdKeeper
Mitglied
Hallo!
System:
MySQL 5.1.x, JBoss 4.2.3.GA, Hibernate
Problem:
Die folgende SQL Abfrage soll eine Liste mit den Typen Long und Double zurück geben, was auch im MySQL Query Browser funktioniert.
Führe ich nun die Abfrage im PersistenceContainer aus,
wird die Liste mit den Typen Long, Long zurück gegeben.
Nehme ich nun den Round(x, d) raus, wird Long, Double zurückgegeben?
Nehme ich nun SUM(...) raus und lasse ROUND(...) in der Query, wird Long, Integer zurückgegeben?
Lt. MySQL Reference 5.1 gibt Round(x, d) ein Double Wert zurück.
Jemand eine Idee?
System:
MySQL 5.1.x, JBoss 4.2.3.GA, Hibernate
Problem:
Die folgende SQL Abfrage soll eine Liste mit den Typen Long und Double zurück geben, was auch im MySQL Query Browser funktioniert.
Code:
SELECT i.id, SUM(ROUND(item.aDoubleValue * item.aFloatValue, 2))
FROM ENTITY_ITEM item, ENTITY i
WHERE i.id = item.entity_Id
GROUP BY i.id
Führe ich nun die Abfrage im PersistenceContainer aus,
Code:
Query q = entityManager.createNamedQuery("ENTITY_SUM_ROUND_QUERY");
List <Object [ ]>values = q.getResultList();
Nehme ich nun den Round(x, d) raus, wird Long, Double zurückgegeben?
Nehme ich nun SUM(...) raus und lasse ROUND(...) in der Query, wird Long, Integer zurückgegeben?
Lt. MySQL Reference 5.1 gibt Round(x, d) ein Double Wert zurück.
Jemand eine Idee?