Hallo,
ich schreibe ein Datum in eine Tabelle und möchte anschliessend die erzeugte ID beziehen um sie dann für weitere Operationen zu verwenden. Dazu verwende ich das Statement
Daz habe ich in der DAO-Klasse folgende Funktion geschrieben:
Leider bekomme ich den Fehler:
Gibt es eine andere Methode die letzte eingetragene id zu ermitteln?
VG und vielen Dank im Voraus
niesel
ich schreibe ein Datum in eine Tabelle und möchte anschliessend die erzeugte ID beziehen um sie dann für weitere Operationen zu verwenden. Dazu verwende ich das Statement
SQL:
SELECT last_insert_rowid()
Daz habe ich in der DAO-Klasse folgende Funktion geschrieben:
Java:
public int last_Id(String hql) {
Session sess = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction trans = sess.beginTransaction();
int id = ((Integer) sess.createQuery(hql).uniqueResult()).intValue();
trans.commit();
return id;
}
Leider bekomme ich den Fehler:
Gibt es eine andere Methode die letzte eingetragene id zu ermitteln?
Code:
Mär 31, 2016 7:53:08 PM org.hibernate.hql.internal.ast.ErrorCounter reportError
ERROR: <AST>:0:0: unexpected end of subtree
Mär 31, 2016 7:53:08 PM org.hibernate.hql.internal.ast.ErrorCounter reportError
ERROR: <AST>:0:0: unexpected end of subtree
<AST>:0:0: unexpected end of subtree
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3598)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:718)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:574)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:311)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:259)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:262)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:190)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:142)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:115)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:76)
at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:150)
at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:302)
at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:240)
at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1907)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:338)
at com.sun.proxy.$Proxy23.createQuery(Unknown Source)
at dao.GenericDao.last_Id(GenericDao.java:66)
VG und vielen Dank im Voraus
niesel