1) ja, sofern du eben nicht SQL-Ausdrücke findest, die beide Datenbanken akzeptieren,
alles was über die bekannten Grundelemente a la SELECT, FROM, GROUP BY, HAVING, sowie vielleicht Funktionen wie COUNT, MIN, MAX, AVG, IS NULL, IN, || (String-Konkatenation) hinausgeht, ist meiner bisherigen Erfahrung nach Grauzone, datenbankabhängig,
SQL an sich ist schon schwer genug, der Übergang von HQL nach SQL ist eine weitere Komplexität hier,
vieles läßt Hibernate durch, manches findet es nicht so gut, hat z.B. Probleme den Typ der Spalte herauszufinden, was vielleicht mit deiner zweiten Frage zu tun hat,
ich schreibe teilsweise in meine Querys [c]SELECT 1.0*DECODE(...[/c] damit Hibernate kapiert dass ein BigDecimal zurückkommen soll..,
bemerkenswert fand ich vor wenigen Jahren, dass bei irgendeinem Versionssprung [c]SELECT count(*)[/c] auf einmal vom Typ Long war statt vorher Integer, mehr als 2 Milliarden Einträge in einer Tabelle hatte ich aber noch nicht, naja vielleicht bei Joins irgendwann mal..,
nach wie vor scheitert mein Hibernate daran, die zumindest in Oracle vorhandene Funktion MEDIAN durchzureichen, genau wie MIN, MAX, AVG,
dafür muss ich extra eine SQL-Query verwenden statt HQL, das läßt sich auf anderen Wege nicht lösen (außer alle Daten einzeln zu laden)
solche Probleme sind vorhanden, was du bei deiner 2. Frage im Besonderen wissen willst erkenne ich nicht,
kann ich vielleicht auch nicht beantworten