Нужно вызвать хранимую процедуру для сохранения сущности с помощью DescriptorCustomizer. Как перевести параметры для процедуры? - PullRequest
0 голосов
/ 30 мая 2019

have: jpa-eclipselink

Я хочу обновить сущность в базе данных через настройку хранимой процедуры custom DescriptorCustomizer.Процедура в базе данных имеет несколько параметров.После слияния в jpa я вижу, какая процедура в базе данных вызывается, но все мои параметры равны нулю.Как передать параметры в процедуру?Отсюда ?я думаю, что из полей сущностей, но, кажется, это не так

public class EcrCustomizer implements DescriptorCustomizer {
  public void customize(ClassDescriptor descriptor) {
    StoredProcedureCall updateByIdCall = new StoredProcedureCall();
    updateByIdCall.setProcedureName("update_ecr_by_id");
    updateByIdCall.addNamedArgument("id", "id", Long.class);
    updateByIdCall.addNamedArgument("name", "name", Long.class);
    descriptor.getQueryManager().setUpdateCall(updateByIdCall);
  }
}

@Customizer(value = EcrCustomizer.class)
@Table(name = "ecr")
public class Ecr{
    @Id
    private Long id;
    @Column(name = "name_ecr")
    private String  name;
    ..setters/getters
}

Ожидается, что процедура вызывает с заполненными параметрами, но параметры являются нулевыми

...