Jaki jest najlepszy mechanizm zapobiegania naruszaniu ograniczeń przed utworzeniem | modyfikacja podmiotu?sprawdza naruszenie ograniczenia przed utrwaleniem podmiotu
Załóżmy, że jeśli jednostka "użytkownika" ma "loginid" jako ograniczenie unikalności, czy byłoby rozsądnie sprawdzić, czy istnieje wpis użytkownika o tej nazwie identyfikatora przed utworzeniem lub modyfikacją.
LUB
Pozwolisz baza rzucić ConstraintViolationException i obsługi tego komunikatu odpowiednio w warstwie UI. Gdzie takie kontrole powinny być egzekwowane w ramach jboss.
Uwaga: Obecnie takie kontrole nie są wymuszane na kodzie szwu.
Obecnie używamy Seam 2.2, Richfaces z Hibernate.
Jak zapobiec tym problemom, jeśli samodzielny klient wykonuje bezpośrednie wywołanie JPA. W jaki sposób możemy sprawić, że kod będzie ponownie wykorzystywany w tych scenariuszach? – Joe
Czy samodzielny klient zawsze wykonuje bezpośrednie wywołanie JPA, czy może wymusić na nim wykonanie jakiegoś DAO? – mtpettyp
Używamy komponentów Seam (EntityHome, EntityQuery interfaces), które obecnie służą jako klej pomiędzy interfejsem użytkownika a warstwą trwałości JPA. Nie jest dla mnie jasne, czy mógłbym wymusić na osobach niezależnych używanie warstwy abstrakcji szwu do utrwalania zamiast warstwy JPA bezpośrednio. Jeśli warstwa Seam musi być obecna, biblioteki Seam muszą zostać wysłane jako część zestawu narzędzi klienta. Nie jestem pewien, jaka jest najlepsza metoda tutaj. – Joe