|
|
|
Как написать кастомный хибернейт валидатор чтобы аргумент аннотации брался из базы
|
|||
|---|---|---|---|
|
#18+
Есть spring+hibernate приложение. Есть доменные бины. Для их валидации используется hibernate validator. Вопрос заключается в том, как сделать так, чтобы в аргументе аннотации написать не константу, а действие типа слазий в базу, и возьми минимальное значение оттуда. Пробовал писать свой кастомный валидатор, но чтобы слазить в базу из него надо заинжектить дао. Так как валидатор инстанциирует хибернейт-валидоатор, а не спринг, то заинжектить в кастомный валидатор ничего не получится. Пробовал грузить контекст в валидаторе, но так как параллельно грузится контекст приложения - получается хренотень. Посоветуйте как решить мою проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2015, 01:21 |
|
||
|
Как написать кастомный хибернейт валидатор чтобы аргумент аннотации брался из базы
|
|||
|---|---|---|---|
|
#18+
up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2015, 12:52 |
|
||
|
Как написать кастомный хибернейт валидатор чтобы аргумент аннотации брался из базы
|
|||
|---|---|---|---|
|
#18+
questioner, http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html By default, the LocalValidatorFactoryBean configures a SpringConstraintValidatorFactory that uses Spring to create ConstraintValidator instances. This allows your custom ConstraintValidators to benefit from dependency injection like any other Spring bean. Как у вас получилось что нельзя проинжектить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2015, 16:18 |
|
||
|
Как написать кастомный хибернейт валидатор чтобы аргумент аннотации брался из базы
|
|||
|---|---|---|---|
|
#18+
MaxNevermind, Я так понимаю, что спринг находит хибернейт валидатор и оборачивает. Наверное эту обертку он и использует. а внутрь валидатора мне никак ничего не заинжектить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2015, 20:17 |
|
||
|
Как написать кастомный хибернейт валидатор чтобы аргумент аннотации брался из базы
|
|||
|---|---|---|---|
|
#18+
MaxNevermindquestioner, http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html By default, the LocalValidatorFactoryBean configures a SpringConstraintValidatorFactory that uses Spring to create ConstraintValidator instances. This allows your custom ConstraintValidators to benefit from dependency injection like any other Spring bean. Как у вас получилось что нельзя проинжектить? Есть спринг валидатор, а есть хибернейт валидатор. По ходу это разные штуки и в этом то и всё дело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2015, 20:58 |
|
||
|
Как написать кастомный хибернейт валидатор чтобы аргумент аннотации брался из базы
|
|||
|---|---|---|---|
|
#18+
а что если создать свои анотации, чтоб какой нить постпроцессор самописный их отрабатывал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2015, 22:55 |
|
||
|
Как написать кастомный хибернейт валидатор чтобы аргумент аннотации брался из базы
|
|||
|---|---|---|---|
|
#18+
questioner, лезть в базу в валидаторе считается плохим тоном (можно погуглить почему). По умолчанию спринговый валидатор и jpa валидатор инициализируются разные, однако при инициализации jpa можно указать свойство javax.persistence.validation.factory в которое заинжектить спринговый валидатор. Что касается параметров - для этого предусмотрен payload в аннотации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2015, 23:21 |
|
||
|
Как написать кастомный хибернейт валидатор чтобы аргумент аннотации брался из базы
|
|||
|---|---|---|---|
|
#18+
bochkovа что если создать свои анотации, чтоб какой нить постпроцессор самописный их отрабатывал Аннотации свои уже есть. А вот свой велосипед писать не хочется. К тому же в остальных местах используется валидатор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2015, 10:45 |
|
||
|
Как написать кастомный хибернейт валидатор чтобы аргумент аннотации брался из базы
|
|||
|---|---|---|---|
|
#18+
Advaquestioner, лезть в базу в валидаторе считается плохим тоном (можно погуглить почему). По умолчанию спринговый валидатор и jpa валидатор инициализируются разные, однако при инициализации jpa можно указать свойство javax.persistence.validation.factory в которое заинжектить спринговый валидатор. Что касается параметров - для этого предусмотрен payload в аннотации. а у я конфигурю session factory через классический хибернейт(без jpa) Может примерчик какой покажете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2015, 10:46 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38978909&tid=2125314]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 490ms |

| 0 / 0 |
