В моем приложении Spring Boot у меня есть служба уведомлений. У меня есть 4 или 5 таблиц, где есть пользовательские записи. Когда пользователь просит изменить некоторые данные в любой из этих таблиц, я запускаю уведомление и когда администратор утверждает этот запрос на изменение, это необходимо обновить в соответствующей таблице. Добавлены исходные данные в одном столбце, данные для изменения в другом столбце, имя класса объектов в 3 -м столбце. Первичный ключ объекта в четвертом столбце, статус запроса в 5 -м столбце. < /P>
create table tbl_change_requests
(
id uuid not null
primary key,
change_data jsonb,
decided_at timestamp(6),
original_data jsonb,
request_type varchar(255)
constraint tbl_change_requests_request_type_check
check ((request_type)::text = ANY
((ARRAY ['DATE_CHANGE'::character varying, 'PRIORITY_CHANGE'::character varying, 'ASSIGNEE_CHANGE'::character varying, 'STATUS_CHANGE'::character varying, 'DESCRIPTION_CHANGE'::character varying])::text[])),
requested_at timestamp(6),
status varchar(255)
constraint tbl_change_requests_status_check
check ((status)::text = ANY
((ARRAY ['PENDING'::character varying, 'APPROVED'::character varying, 'REJECTED'::character varying])::text[])),
task_id uuid,
requested_by uuid
constraint fkc0g49uvky2f4jwjv9i5ytdavv
references users,
target_name varchar(255)
);
< /code>
Есть ли способ написать общий репозиторий, чтобы сохранить какую -либо действительную сущность в соответствующую таблицу? (У меня есть имя класса сущности в DB, и я могу найти класс, и я также могу найти таблицу, которую он представляет) < /p>
public Class getEntityClassFromEntityName(String entityName) {
for (EntityType entity : entityManager.getMetamodel().getEntities()) {
if (entityName.equals(entity.getName())) {
return entity.getJavaType();
}
}
return null;
}
< /code>
public String getTableName(Class entityClass) {
if (entityClass == null)
return null;
Metamodel meta = entityManager.getMetamodel();
EntityType entityType = meta.entity(entityClass);
Table t = entityClass.getAnnotation(Table.class);
return (t == null)
? entityType.getName().toUpperCase()
: t.name();
}
```
Подробнее здесь: https://stackoverflow.com/questions/794 ... t-entities
Общий репозиторий для сохранения разных сущностей ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1738347511
Anonymous
В моем приложении Spring Boot у меня есть служба уведомлений. У меня есть 4 или 5 таблиц, где есть пользовательские записи. Когда пользователь просит изменить некоторые данные в любой из этих таблиц, я запускаю уведомление и когда администратор утверждает этот запрос на изменение, это необходимо обновить в соответствующей таблице. Добавлены исходные данные в одном столбце, данные для изменения в другом столбце, имя класса объектов в 3 -м столбце. Первичный ключ объекта в четвертом столбце, статус запроса в 5 -м столбце. < /P>
create table tbl_change_requests
(
id uuid not null
primary key,
change_data jsonb,
decided_at timestamp(6),
original_data jsonb,
request_type varchar(255)
constraint tbl_change_requests_request_type_check
check ((request_type)::text = ANY
((ARRAY ['DATE_CHANGE'::character varying, 'PRIORITY_CHANGE'::character varying, 'ASSIGNEE_CHANGE'::character varying, 'STATUS_CHANGE'::character varying, 'DESCRIPTION_CHANGE'::character varying])::text[])),
requested_at timestamp(6),
status varchar(255)
constraint tbl_change_requests_status_check
check ((status)::text = ANY
((ARRAY ['PENDING'::character varying, 'APPROVED'::character varying, 'REJECTED'::character varying])::text[])),
task_id uuid,
requested_by uuid
constraint fkc0g49uvky2f4jwjv9i5ytdavv
references users,
target_name varchar(255)
);
< /code>
Есть ли способ написать общий репозиторий, чтобы сохранить какую -либо действительную сущность в соответствующую таблицу? (У меня есть имя класса сущности в DB, и я могу найти класс, и я также могу найти таблицу, которую он представляет) < /p>
public Class getEntityClassFromEntityName(String entityName) {
for (EntityType entity : entityManager.getMetamodel().getEntities()) {
if (entityName.equals(entity.getName())) {
return entity.getJavaType();
}
}
return null;
}
< /code>
public String getTableName(Class entityClass) {
if (entityClass == null)
return null;
Metamodel meta = entityManager.getMetamodel();
EntityType entityType = meta.entity(entityClass);
Table t = entityClass.getAnnotation(Table.class);
return (t == null)
? entityType.getName().toUpperCase()
: t.name();
}
```
Подробнее здесь: [url]https://stackoverflow.com/questions/79403685/generic-repository-to-save-different-entities[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия