データベースからデータを照会しようとしていますが、特定の列の最後の3文字を削除したいと考えています。 SQLは、SQL Serverには有効であるが、私はHibernateの構文にそれを置くとき、次のように、日食は、タイトルとしてSQLコンテキストを示した:org.hibernate.hql.internal.ast.QuerySyntaxException:予期しないトークン:LEFT、1行目、24列目付近
String sql = "select distinct d.code,LEFT(d.VILLAGE, (LEN(d.VILLAGE)-3)) as village_name from DistrictInfo d where d.county=:region and d.town=:town and LEN(d.VILLAGE) !=0";
Query q = session.createQuery(sql);
q.setString("region", region);
q.setString("town", town)
特定の例外を次のように:
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: LEFT near line 1, column 24 [select distinct d.code,LEFT(d.VILLAGE, (LEN(d.VILLAGE)-3)) as village_name from org.nergis.orm.model.DistrictInfo d where d.county=:region and d.town=:town and LEN(d.VILLAGE) !=0]
はいLEFT()
例外が発生しますか?どうすればそれを正しくすることができますか?
私はHibernate createSQLQueryを使用して例外を解決しました – Huang