Hibernate вставка стоимости в ColumnTransformer - PullRequest
0 голосов
/ 18 января 2019

По соображениям безопасности я должен зашифровать некоторые столбцы моих таблиц postgres.

Я использовал аннотацию @ColumnTransfomer, но мне нужно управлять тремя разными паролями (dev, test, prod).

С помощью Spring я настроил bean-компонент со ссылкой на правильный hibernate.cfg.xml, поэтому, когда мне нужно развернуть, мне нужно только изменить ссылку на bean-компонент, чтобы подключиться с правильной конфигурацией, и мне нужно что-то похоже на восстановление пароля

В моей сущности у меня есть текущая аннотация

@ColumnTransformer(
            read = "pgp_sym_decrypt(field1::bytea, 'MYKEY','cipher-algo=aes256')",
            write = "pgp_sym_encrypt(?, 'MYKEY','cipher-algo=aes256')")

Есть способ вставить произвольное значение вместо MYKEY? Я пробовал таким образом, но я получаю ошибку

   private final static String key = ((AppConfig)ContextLoader.getCurrentWebApplicationContext().getBean("app")).getDb().getPassword(); 
   ...
   @ColumnTransformer(
            read = "pgp_sym_decrypt(email::bytea, "+key+",'cipher-algo=aes256')",
            write = "pgp_sym_encrypt(?, "+key+",'cipher-algo=aes256')")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...