Je reçois cette exception lorsque j'essaye de supprimer une donnée en base qui n'existe pas :
Code:
2009-02-18 09:18:52,682 DEBUG [SQL] DELETE from sporevo.member_personalData WHERE login='LoginTest';
2009-02-18 09:18:52,682 DEBUG [AbstractBatcher] preparing statement
2009-02-18 09:18:52,842 DEBUG [AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
2009-02-18 09:18:52,842 DEBUG [AbstractBatcher] closing statement
2009-02-18 09:18:52,852 DEBUG [JDBCExceptionReporter] could not execute native bulk manipulation query [DELETE from sporevo.member_personalData WHERE login='LoginTest';]
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Champ 'login' inconnu dans where clause
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2046)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1964)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1949)
at org.hibernate.engine.query.NativeSQLQueryPlan.performExecuteUpdate(NativeSQLQueryPlan.java:165)
at org.hibernate.impl.SessionImpl.executeNativeUpdate(SessionImpl.java:1163)
at org.hibernate.impl.SQLQueryImpl.executeUpdate(SQLQueryImpl.java:334)
Ne serait-ce pas plus logique que je reçoive une HibernateException Quelquonque ?
Là, je peut pas catcher cette exception particulière puisqu'elle vient de mon driver : mysql-connector-java-5.1.7-bin.jar.
Enfin voilà, je trouve ça bizare qu'hibernate laisse passer des erreurs du driver.