Запросить выборку активных и отсортированных записей в сопоставлении ManyToMany? - PullRequest
0 голосов
/ 12 марта 2020

Я застрял с одной проблемой. У меня два модельных класса вроде разрешения и посетителя. Каждый запрос на разрешение может иметь много посетителей.

Я реализовал концепцию мягкого удаления. удалено = 0 = активно и удалено = 1 = мягкое удаление / неактивно

Я создал остальные API getAllPermission, где нужно получить результат всех активных разрешений и связанных активных посетителей в отсортированном порядке. Ниже запрос репозитория дает мне все активные разрешения в отсортированном порядке со всеми активными и неактивными vistors.

PermissionRepository. java:

@ Query (value = "select * from PERMISSION, где удалено = 0 ORDER BY creation_time des c ", nativeQuery = true)

Список findByValidSortedCreated ();

Может кто-нибудь, пожалуйста, помогите мне создать запрос для получения всех активных разрешений со связанными активными посетители?

Таблицы: Разрешение посетителя allow_visitor (с идентификаторами для разрешений и посетителей)

Ответ API:

{
    "id": 6,
    "deleted":0,
    "serial": "202003120002",
    "purpose": "Permission 1",
    "fromDate": "2020-03-12T04:38:15.000+0000",
    "toDate": "2020-02-26T04:24:34.000+0000",
    "responsible": {
        "id": 1,
        "name": "name1",
        "militaryNumber": "68758798",
        "mobile": "78687568",
        "qid": "111111"
    },
    "visitors": [
        {
            "id": 7,
            "deleted":0,
            "name": "visitor 1",
            "qid": "111",
            "militaryNumber": "1111",
            "mobile": "121212",
            "passport": "111111",
        },
        {
            "id": 8,
            **"deleted":1,**
            "name": "visitor 2",
            "qid": "222",
            "militaryNumber": "2222",
            "mobile": "212121",
            "passport": "222222",
        }
    ]

}

Служба:

 @Override
    public List<PermissionResponse> getAllPermissions() {
       List<Permission> permissions = (List<Permission>) 
        permissionRepository.findByValidSortedCreated();
        Type listOfPermissionRes = new TypeToken<List<PermissionResponse>>() {
        }.getType();
        List<PermissionResponse> permissionResponse = modelMapper.map(permissions, listOfPermissionRes);
        return permissionResponse;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...