Доступ к перечислению javax.persistence.CascadeType через метод и использование результата в аннотации - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть отношение один-ко-многим и я хочу использовать все CascadeType, кроме CascadeType.REMOVE. Я сделал это:

@OneToMany(cascade= {CascadeType.DETACH, CascadeType.MERGE,
                    CascadeType.PERSIST, CascadeType.REFRESH})

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

Для пример:

public class Helper {
    public /*I also do not know the return type*/ myMethod(CasccadeType x) {
        // return all the CascateType except x 
    }
}

Тогда я хочу назвать это из аннотации

public class Model{
    @Autowwired
    private Helper helper;
    ...

    @OneToMany(cascade = helper.myMethod(CascadeType.REMOVE))
    @JoinColumn(...)
    private field name;

    ...
}

Я довольно новичок в перечислениях и не могу найти какие-либо решения для этого. Я не знаю, позволяет ли JPA это или нет. Кроме того, если это разрешено, будет ли это лучшей практикой?

Я использую spring, hibernate-5.4 и java-1.8. Подскажите пожалуйста как мне это сделать. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...