[HIBERNATE] Problème d'insert de masse en HQL
Bonjour, voilà j'ai un petit soucis avec une requête d'insert de masse en HQL, elle ne passe pas et me génère une exception ( :roll: ).
Le petit bout de code incriminé (SGBD Oracle) :
Code:
1 2 3 4 5 6 7 8 9 10
|
String sqlRequete = "insert into Function ";
sqlRequete = sqlRequete + "(version, code, role, application, number, functionCode) ";
sqlRequete = sqlRequete + "select Function.version, '" + Code + "', '" + role + "', ";
sqlRequete = sqlRequete + "Function.application, Function.number, Function.functionCode ";
sqlRequete = sqlRequete + "from function Function ";
sqlRequete = sqlRequete + "where f.functionCode = 'LA' ";
query = getPersistenceManager().createQuery(sqlRequete);
result = query.executeUpdate(); |
Les variables code et role sont bien évidemment passées en paramètres et je ne renseigne pas l'id car j'ai une sequence Oracle - j'ai déjà testé le cas où je renseigne "manuellement" l'id.
Je ne pense pas que cela puisse venir d'un problème de fichiers de configuration car mes requêtes HQL de select marchent très bien, ainsi que les insert, update et delete réalisées via l'hibernate session.
L'exception générée :
Code:
1 2 3 4 5 6 7 8 9
| org.hibernate.hql.ast.QuerySyntaxError: unexpected token: insert
near line 1, column 1 [insert into Function
(version, code, role, application, Number,
FunctionCode) select function.version, '54',
'UPM', Function.application,
Function.Number,
Function.FunctionCode from
Function
Function where Function.FunctionCode = 'LA' ] |
J'avoue que j'y perd mon latin^^
J'ai réellement besoin d'un coup de pouce car cela me semble tellement idiot que j'ai du zapper un élément totalement évident^^
Merci d'avance!