Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
- Internal Exception: org.postgresql.util.PSQLException: ERROR: error de sintaxis en o cerca de «:»
- Position: 44
- Error Code: 0
- Call: UPDATE Article e SET e.preu = e.preu * (1+ :percentage/100)
- Query: DataModifyQuery(sql="UPDATE Article e SET e.preu = e.preu * (1+ :percentage/100)")
- javax.persistence.PersistenceException
- at org.eclipse.persistence.internal.jpa.QueryImpl.executeUpdate(QueryImpl.java:308)
- at gestors.GestorArticleExtern.incrementarPreu(GestorArticleExtern.java:81)
- at TestGestors.provaIncrementarPreuDistribuidor1(TestGestors.java:188)
- at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340)
- at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.processExceptionForCommError(DatabaseAccessor.java:1611)
- at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:898)
- at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:962)
- at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:631)
- at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:558)
- at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2002)
- at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:298)
- at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)
- at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
- at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:271)
- at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:251)
- at org.eclipse.persistence.queries.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:85)
- at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899)
- at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:798)
- at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896)
- at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804)
- at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1786)
- at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1751)
- at org.eclipse.persistence.internal.jpa.QueryImpl.executeUpdate(QueryImpl.java:298)
- at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2310)
- at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2023)
- at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:217)
- at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:421)
- at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:166)
- at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:137)
- at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:890)
- public void incrementarPreu(int codiDistribuidor, float percentantge) {
- //TODO completar el metode
- Query ap = em.createNamedQuery("Article.tots");
- List<Article>totsArticles= ap.getResultList();
- List<ArticleExtern> ae = new ArrayList();
- for(Article art : totsArticles){
- if(art instanceof ArticleExtern){
- ArticleExtern e = (ArticleExtern) art;
- if(e.getDistribuidor().getCodi() == codiDistribuidor){
- Query q;
- q= em.createNativeQuery("UPDATE Article e SET e.preu = e.preu * (1+ :percentage/100)");
- q.setParameter("percentatge", percentantge);
- em.getTransaction().begin();
- q.executeUpdate();
- em.getTransaction().commit();
- }
- }
- }
Add Comment
Please, Sign In to add comment