Ma première requête je fais :
List values = session.createSQLQuery("SELECT VALUE FROM t_value v INNER JOIN (SELECT r.id_key, MAX(r.id_goroco) AS id_goroco, MAX(r.id_value) AS id_value FROM t_rel_kvlg r INNER JOIN t_key k ON k.id_key = r.id_key WHERE r.id_goroco <=21 AND r.id_locale = 3 AND (k.end_version = 0 OR k.end_version >=21 ) AND k.start_version <= 21 AND k.id_project = 1 GROUP BY r.id_key, r.id_locale, k.start_version, k.end_version ) t ON v.id_value = t.id_value WHERE v.VALUE = 'to be translated' OR v.VALUE = 'Ã* traduire' OR v.VALUE = 'A traduire' ").addEntity(Value.class).list();
L'erreur qui se produit dans les logs :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
org.hibernate.exception.SQLGrammarException: could not execute query
Caused by: java.sql.SQLException: Column 'id_value' not found.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.ResultSet.findColumn(ResultSet.java:987)
at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:2749)
at org.hibernate.type.IntegerType.get(IntegerType.java:28)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:1097)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:565)
at org.hibernate.loader.Loader.doQuery(Loader.java:701)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220) |
Et quand je passe par session.createQuery() avec ma 2ème requête message d'erreur aussi.
Partager