Error in query while deleting records

Hello Cuba Team,
I am getting the following error.

   JpqlSyntaxException: Errors found for input jpql:[delete from keansacloud_plan_data_new where PLAN_UNIT = 'cc78b97e-23dc-f657-6c1e-5a62ccdabd9a' and DATA_MEASURE_NAME = '8d5a2a4b-56bb-f64e-2237-1b504511efd6']
CommonErrorNode [<unexpected: [@10,54:54='=',<68>,1:54], resync=PLAN_UNIT = 'cc78b97e-23dc-f657-6c1e-5a62ccdabd9a'>]
CommonErrorNode [<unexpected: [@18,117:117='=',<68>,1:117], resync=DATA_MEASURE_NAME = '8d5a2a4b-56bb-f64e-2237-1b504511efd6'>]

ServiceBean code:

public class PlanningViewServiceBean implements PlanningViewService {
    @Inject
    private Persistence persistence;
    @Inject
    private DataManager dataManager;

    public int deleteExistedPlanList(String planUnit, String dataMeasureName) {
        int deleteCount;
        try (Transaction tx = persistence.createTransaction()) {
            deleteCount = persistence.getEntityManager().createQuery(
                "delete from keansacloud_plan_data_new where PLAN_UNIT = '"+planUnit+"' and DATA_MEASURE_NAME = '"+dataMeasureName+"'"
            ).executeUpdate();
        }
        return  deleteCount;
    }

service code:

    public interface PlanningViewService {
        String NAME = "keansacloud_PlanningViewService";
        public int deleteExistedPlanList(String planUnit, String dataMeasureName);
	}

java code:

    int deleteNoList = planningViewService.deleteExistedPlanList(p.getPlanUnit().getId().toString(),p.getDataMeasureName().getId().toString());

Please help me here.

Thanks!

Hello!

The com.haulmont.cuba.core.EntityManager#createQuery(java.lang.String) method expects that you give it JPQL statement (take a look at JavaDoc for this method). It means that your query should be something like this:

delete from app$keansacloud_plan_data_new pdn where pdn.plain_unit = ... and pdn.measure_name = ...

If you want to use SQL statement, you should use the following method:

com.haulmont.cuba.core.EntityManager#createNativeQuery(java.lang.String)

You can get more info in the documentation: EntityManager docs.

Best regards,
Daniil.