2016-07-05 10 views
0

Ich versuche, Daten aus der Datenbank abzufragen, aber ich möchte die letzten drei Zeichen einer bestimmten Spalte entfernen. Die SQL ist wirksam in SQL Server, aber wenn ich es in der Syntax Hibernate setzen, Eclipse als Titel zeigte, der SQL-Kontext wie folgt:org.hibernate.hql.internal.ast.QuerySyntaxException: unerwartetes Token: LINKS nahe Zeile 1, Spalte 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) 

Die besondere Ausnahme wie folgt:

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] 

Ist die LEFT() verursacht die Ausnahme? Wie kann ich es richtig machen?

+0

Ich löste die Ausnahme mit Hibernate createSQLQuery – Huang

Antwort

0

Sie können dafür Hibernate createSQLQuery verwenden.

+0

Danke, ich habe die Ausnahme gelöst, wie Sie mir sagen. – Huang

Verwandte Themen