Spring Boot 2 JPA Перевод исключений с или без веб / отдыха - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь создать репозиторий JPA следующим образом и сталкиваюсь с несколькими проблемами

  • Я хочу перевести все весенние исключения в бизнес-исключения как сервисный уровень (не веб-служба / служба отдыха)
  • Все примеры и решения, с которыми я сталкиваюсь в документах stackoevrflow и spring, связаны с web @ControllerAdvice, я хочу иметь возможность переводить исключение на уровне обслуживания, которое позже может быть подключено к @RestController или @Controller, если это необходимо.
  • Я думаю, что реальная проблема, с которой я сталкиваюсь, состоит в том, чтобы отловить исключения всех видов

Репозиторий

public interface UserRepository extends PagingAndSortingRepository<User, UUID>, Service<User, UUID> {

//@PreAuthorize("hasRole('W_USER')")
Optional<User> findByUsername(String username);

}

и права

<mapped-superclass class="xx.xx.BaseModel" access="FIELD">
    <attributes>
        <id name="uid">
            <column column-definition="BINARY(16)" />
            <generated-value strategy="AUTO" />
        </id>
        <basic name="creationDate">
            <column
                column-definition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP"
                insertable="false" updatable="false" />
        </basic>
        <basic name="modificationDate">
            <column
                column-definition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP"
                insertable="false" updatable="false" />
        </basic>
        <version name="version"></version>
    </attributes>
</mapped-superclass>

<entity class="xx.xx.User">
    <table name="USER">
        <index column-list="email,username,enabled"></index>
    </table>

    <attributes>
        <basic name="email">

        </basic>
        <basic name="firstName"></basic>
        ...
        <basic name="username" optional="false">
            <column unique="true"/>
        </basic>
        <basic name="email" optional="false">
            <column unique="true"/>
        </basic>

        <many-to-many name="roles" fetch="LAZY">

        </many-to-many>
    </attributes>
</entity>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...