Guest User

Untitled

a guest
Mar 22nd, 2018
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.35 KB | None | 0 0
  1. Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
  2. Internal Exception: org.postgresql.util.PSQLException: ERROR: error de sintaxis en o cerca de «:»
  3. Position: 44
  4. Error Code: 0
  5. Call: UPDATE Article e SET e.preu = e.preu * (1+ :percentage/100)
  6. Query: DataModifyQuery(sql="UPDATE Article e SET e.preu = e.preu * (1+ :percentage/100)")
  7. javax.persistence.PersistenceException
  8. at org.eclipse.persistence.internal.jpa.QueryImpl.executeUpdate(QueryImpl.java:308)
  9. at gestors.GestorArticleExtern.incrementarPreu(GestorArticleExtern.java:81)
  10. at TestGestors.provaIncrementarPreuDistribuidor1(TestGestors.java:188)
  11. at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340)
  12. at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.processExceptionForCommError(DatabaseAccessor.java:1611)
  13. at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:898)
  14. at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:962)
  15. at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:631)
  16. at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:558)
  17. at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2002)
  18. at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:298)
  19. at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)
  20. at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
  21. at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:271)
  22. at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:251)
  23. at org.eclipse.persistence.queries.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:85)
  24. at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899)
  25. at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:798)
  26. at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896)
  27. at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804)
  28. at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1786)
  29. at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1751)
  30. at org.eclipse.persistence.internal.jpa.QueryImpl.executeUpdate(QueryImpl.java:298)
  31. at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2310)
  32. at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2023)
  33. at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:217)
  34. at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:421)
  35. at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:166)
  36. at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:137)
  37. at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:890)
  38.  
  39. public void incrementarPreu(int codiDistribuidor, float percentantge) {
  40. //TODO completar el metode
  41.  
  42. Query ap = em.createNamedQuery("Article.tots");
  43. List<Article>totsArticles= ap.getResultList();
  44. List<ArticleExtern> ae = new ArrayList();
  45.  
  46. for(Article art : totsArticles){
  47. if(art instanceof ArticleExtern){
  48.  
  49. ArticleExtern e = (ArticleExtern) art;
  50.  
  51. if(e.getDistribuidor().getCodi() == codiDistribuidor){
  52.  
  53. Query q;
  54. q= em.createNativeQuery("UPDATE Article e SET e.preu = e.preu * (1+ :percentage/100)");
  55. q.setParameter("percentatge", percentantge);
  56. em.getTransaction().begin();
  57. q.executeUpdate();
  58. em.getTransaction().commit();
  59. }
  60. }
  61. }
Add Comment
Please, Sign In to add comment