Как сохранить вставку и удалить согласно персистентному лицу-менеджеру, не совершая весь перевод - PullRequest
0 голосов
/ 27 июня 2019

Как сохранить удаление и вставку в jpa, а также как сохранить дубликаты данных в одном и том же диспетчере сущностей в jta и jpa

выполнение запроса выглядит так

delete from SERVERVARIABLES where SERVER_ID=? and VARIABLE_NAME=?

delete from SERVERVARIABLES where SERVER_ID=? and VARIABLE_NAME=?

insert into SERVERVARIABLES (DEFAULT_VALUE, description, SERVER_ID, VARIABLE_NAME) values (?, ?, ?, ?)

insert into SERVERVARIABLES (DEFAULT_VALUE, description, SERVER_ID, VARIABLE_NAME) values (?, ?, ?, ?)

мне нужно, чтобы исполнение было как

delete from SERVERVARIABLES where SERVER_ID=? and VARIABLE_NAME=?

insert into SERVERVARIABLES (DEFAULT_VALUE, description, SERVER_ID, VARIABLE_NAME) values (?, ?, ?, ?)

delete from SERVERVARIABLES where SERVER_ID=? and VARIABLE_NAME=?

insert into SERVERVARIABLES (DEFAULT_VALUE, description, SERVER_ID, VARIABLE_NAME) values (?, ?, ?, ?)

public void deleteservervariable(String serverId,String name) {
    CriteriaBuilder builder = null;
    EntityManager entitymanager = null;
    try {
        entitymanager = JPAUtility.getInstance().getEntityManager 
                    (APIArtifactConstant.APIManagerCacheUnit);
        builder = entitymanager.getCriteriaBuilder();
        CriteriaDelete<Servervariable> apidelete = builder.createCriteriaDelete(Servervariable.class);
        Root<Servervariable> apiserverVariabel = apidelete.from(Servervariable.class);
        apidelete.where(builder.equal(apiserverVariabel. 
                    get(APIArtifactImportConstant.id). 
                    get(APIArtifactImportConstant.apiserverId), 
                   serverId),builder.equal(apiserverVariabel. 
                     get(APIArtifactImportConstant.id). 
                   get(APIArtifactImportConstant.APIvariableName), name));
        entitymanager.joinTransaction();
        entitymanager.createQuery(apidelete).executeUpdate();
    }


    public void deleteservervariable(String serverId,String name)


    public void presistservervariable(Servervariable servervariable,EntityManager entitymanager) { 

        try { entitymanager.joinTransaction(); 
            entitymanager.persist(servervariable); } catch(Exception e) { 
   e.printStackTrace(); } } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...