Я использую spring + jpa + hibernate для вызова хранимой процедуры из базы данных оракула.
В зависимости от того, установлен ли мой профиль на dev
или prod
, мне нужно создать несколько другие @NamedStoredProcedureQuery
с. В настоящее время я использую следующую сущность
@Entity
@Table(name = "MYTABLE")
@NamedStoredProcedureQueries({
@NamedStoredProcedureQuery(name = "MYSTOREDPROC",
procedureName = "DBNAME.PACKAGE.MYSTOREDPROC", <-- this DBNAME is profile dependent
parameters = {
@StoredProcedureParameter(mode = ParameterMode.REF_CURSOR, name = "records", type = void.class),
@StoredProcedureParameter(mode = ParameterMode.IN, name = "id", type = String.class)})
})
public class MyEntity {...}
Если я нахожусь в dev
, то DBNAME=DB_DEV
, а если в prod
, то DBNAME=DB_PRD
Как мне этого добиться? Почему это не работает, если я просто даю PACKAGE.MYSTOREDPROC
в качестве имени процедуры?
Спасибо за помощь