bonjour,
comment obtenir facilement en java avec hibernate les valeurs CURRVAL ou NEXTVAL d'une séquence sans avoir à passer par un select seq.CURRVAL from dual; ?
merci d'avance
bonjour,
comment obtenir facilement en java avec hibernate les valeurs CURRVAL ou NEXTVAL d'une séquence sans avoir à passer par un select seq.CURRVAL from dual; ?
merci d'avance
Salut j'ai exactement le même problème.
J'aimerais récupérer le nextval d'une de mes séquence Oracle.
Voici l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 String sqlString = "select DEMANDEID_SEQ.nextval from dual"; Query query = HibernateUtil.getCurrentSession().createQuery(sqlString); list = query.list();
Forcément que Dual n'est pas mappé!
Code : Sélectionner tout - Visualiser dans une fenêtre à part org.hibernate.hql.ast.QuerySyntaxException: dual is not mapped [select DEMANDEID_SEQ.nextval from dual]
Comment faire sans passer par l' id generator sequence (cf. http://www.hibernate.org/hib_docs/v3...n-id-generator)
Merci pour votre aide
en fait, si tu fais un new d'un de tes objets mappés, tu auras la valeur dans ton objet et tu peux l'utiliser ainsi. il faut faire un save.
avec ton mapping :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 MyPo monPo = new MyPo(); session.save(monPo); // à partir d'ici, tu as accès à ta séquence dans monPo .getId()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <id name="id" column="id" type="integer"> <generator class="sequence"> <param name="sequence">MY_SQ</param> </generator> </id>
Ca ne va sans doute pas résoudre ton problème, mais dans ta requête, tu as mal écrit nextval.
Voila c'est résolu: cf. le thread
Merci à tous les 2
Partager