Spring Data JPA save производит выбор и обновление, как избежать выбора при вызове функции save () - PullRequest
0 голосов
/ 09 мая 2019

Я работаю над задачей, где мне нужно вставить и сделать обновление в записи не существует.Текущая функциональность Spring данных jpa хорошо работает при работе с одним источником данных, но у меня более одного источника данных.

1) for reading and 
2) for update and delete.

Я хочу выбрать оператор для выполнения с сервера только для чтения, а не на первичном сервере, это может быть достигнуто в отдельном репозитории jpa, который я уже сделал.

Но проблема возникает при вызове save () в репозитории главного сервера.Save () производит выбор и обновление / вставку на главном сервере базы данных.

Я узнал об интерфейсе Persistable, и я установил и установил для isNew значение false, когда я уверен, что обновление не вставляется, но все еще выполняется утверждение выбора данных Spring на главном сервере перед обновлением.

Усилие сделано до сих пор

public class Employee implements Persistable<String> {

    @Id
    @Column(name = "emp_no")
    private String empNo;

    @Column(name = "name")
    private String name;

    @Transient
    private boolean isNew = false;

    public String getEmpNo() {
        return empNo;
    }

    public void setEmpNo(String empNo) {
        this.empNo = empNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String getId() {
        return empNo;
    }

    @Override
    public boolean isNew() {
        return isNew;
    }

    public void setNew(boolean isNew) {
        this.isNew = isNew;
    }
}

Пожалуйста, предложите мне рабочее решение, чтобы я мог избежать или позвонить, чтобы выбрать из другого источника данных.

Я также попробовалЭто решение, которое размещено в одном из ответов на разных сайтах.

@DynamicUpdate(value=false)
@SelectBeforeUpdate(value=false)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...