Erreur suppression occurrence objet métier

Bonjour,

Lors du passage de la 5.3.41 à la 5.3.71 une erreur apparait et m’empêche de supprimer une occurrence d’un objet métier. J’ai dès lors essayé un passage en 5.3.75 qui n’a pas été concluant qu’en à la résolution du problème.

Ci-joint le message d’erreur:

Error SQL query: jdbc/simplicite: select count(*) from sng_ligne_bulletin where =?    org.postgresql.util.PSQLException: ERREUR: erreur de syntaxe sur ou près de « = »     Position : 47     at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2676)     at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2366)     at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:356)     at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:496)     at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:413)     at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:190)     at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:134)     at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)     at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)     at com.simplicite.util.engine.DBAccess.query(DBAccess.java:668)     at com.simplicite.util.engine.DBAccess.simpleQuery(DBAccess.java:866)     at com.simplicite.util.engine.DBAccess.simpleQuery(DBAccess.java:851)     at com.simplicite.util.engine.ObjectManager.deleteCascad(ObjectManager.java:5018)     at com.simplicite.util.engine.ObjectManager.deleteObj(ObjectManager.java:4913)     at com.simplicite.util.engine.ObjectManager.delete(ObjectManager.java:4670)     at com.simplicite.util.engine.ObjectDirect.delete(ObjectDirect.java:523)     at com.simplicite.util.ObjectDB.delete(ObjectDB.java:1957)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.base/java.lang.reflect.Method.invoke(Method.java:566)     at com.simplicite.util.engine.ObjectManager.invokeActionSync(ObjectManager.java:4449)     at com.simplicite.util.engine.ObjectDirect.invokeAction(ObjectDirect.java:660)     at com.simplicite.util.ObjectDB.invokeAction(ObjectDB.java:2190)     at com.simplicite.util.ObjectDB.invokeAction(ObjectDB.java:2158)     at com.simplicite.webapp.tools.JSONServletTool.action(JSONServletTool.java:2228)     at com.simplicite.webapp.ObjectJson.action(ObjectJson.java:1216)     at com.simplicite.webapp.tools.JSONServletTool.businessObjectService(JSONServletTool.java:684)     at com.simplicite.webapp.servlets.AbstractJSONServlet.process(AbstractJSONServlet.java:168)     at com.simplicite.webapp.servlets.AbstractJSONServlet.service(AbstractJSONServlet.java:127)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)     at com.simplicite.webapp.filters.RewriteFilter.doFilter(RewriteFilter.java:68)     at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:49)     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)     at com.simplicite.webapp.filters.HTTPHeadersFilter.doFilter(HTTPHeadersFilter.java:39)     at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:49)     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)     at com.simplicite.webapp.filters.AuthMethodFilter.doFilter(AuthMethodFilter.java:222)     at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:49)     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:156)     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670)     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)     at org.apache.coyote.http2.StreamProcessor.service(StreamProcessor.java:432)     at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)     at org.apache.coyote.http2.StreamProcessor.process(StreamProcessor.java:90)     at org.apache.coyote.http2.StreamRunnable.run(StreamRunnable.java:35)     at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)     at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)     at java.base/java.lang.Thread.run(Thread.java:829)

J’ai essayé de voir avec un predelete pour comprendre ce qu’il se passe mais ça remonte l’erreur lors du delete et pas avant.

Est ce que vous auriez une idée de ce qui aurais pu causer ça lors de la monté de version?

Merci d’avance

Bonjour,

Ce n’est pas le delete qui plante, c’est avant:

select count(*) from sng_ligne_bulletin where =?

il n’y a pas colonne physique sur un attribut de sng_ligne_bulletin.

  • quelle la colonne physique de l’attribut “row_id” ?
  • des autres champs ?

Si un champ est non persistant, il ne devrait pas être utilisé dans un where.

La stack trace indique un pb de delete cascade:

simpleQuery(DBAccess.java:851) at com.simplicite.util.engine.ObjectManager.deleteCascad(ObjectManager.java:5018) at com.simplicite.util.engine.ObjectManager.deleteObj(ObjectManager.java:4913) at com.simplicite.util.engine.ObjectManager.delete

il doit y avoir un problème dans vos objets liés à celui que vous supprimez:

  • Foreign key sans colonne physique ?
  • Lien virtuel avec delete cascade != ignore ?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.