Как записать объект сущности домена в несколько таблиц базы данных, используя Spring Data Jpa? - PullRequest
0 голосов
/ 03 июля 2019

У меня есть модель предметной области, которая соответствует нескольким таблицам, когда я использую реляционную базу данных для проектирования хранилища данных. Теперь, когда я создаю эту сущность домена, я хочу использовать Spring Data Jpa для записи в несколько таблиц данных одновременно. Как это сделать?

1.Домен Модель:

{
    "id": 2,
    "startTime": "2018-07-09T08:59:08.853Z",
    "endTime": "2018-07-09T08:59:08.853Z",
    "group": 2,
    "entries": [
        {
            "id": 1,
            "target": 90,
            "isFinished": false,
            "name": "俯卧撑",
            "groups": [
                {
                    "id": 1,
                    "name": "第一组",
                    "number": 30
                },
                {
                    "id": 2,
                    "name": "第一组",
                    "number": 30
                }
            ]
        }
    ]
}

2. Таблицы данных:

tb_execise_plan(id, start_time, end_time, group)
tb_execise_entry(id,name,target, is_finished, execise_plan_id, project_id)
tb_execise_entry_group(id,name,number,execise_entry_id)

3.Таблица отношений:

tb_execise_plan  1:m tb_execise_entry
tb_execise_entry 1:m tb_execise_entry_group

1 Ответ

0 голосов
/ 03 июля 2019

Я рекомендую вам посмотреть презентации Оливье Гирке / Дротбома и примеры кода о данных DDD и Spring.Это другой подход, чем генератор сущностей в JHipster, который состоит из одного репозитория JPA на сущность.

Но, начиная с репозиториев, сгенерированных JHipster, вы можете объединять свои сущности в аннотированный класс @Service, используя аннотированные методы @Transactional.

Пример такого подхода вы можете найти в своем сгенерированном JHipster проекте с классом UserService, который объединяет User и его Authorities.

...