JMIX AppSettingsEntity некорректна для ID объекта типа UUID (только Integer)
Функциональность неработоспособна
JMIX AppSettingsEntity некорректна для ID объекта типа UUID (только Integer)
Функциональность неработоспособна
Спасибо за подробное описание проблемы!
Какие возможные сроки исправляния?
Добрый день!
Можете более подробно описать возникающие проблемы? С данным аддоном были созданы демопроекты и подобных сложностей не возникало.
С уважением,
Надежда
Коллеги, вместо [Kasparyants Sergey] поясняю. У нас все объекты в ORM имеют ID с типом UUID. AppSettingsEntity поддерживает работу только с сущностями, которые имеют ID с типом integer. Результат: использовать AppSettingsEntity не можем, а нужно.
Всё-таки хотелось бы больше информации, как это вас аффектит.
Сущности, которые расширяют AppSettingsEntity
задумывались как служебные, не предполагается, что для них должны быть экраны, их менеджмент ведётся через служебные экраны, в подавляющем количестве случаев работа с ними должна осуществляться через код, через интерфейс AppSettings
.
Если уж раскрывать детали, наличие идентификатора с типом Integer также позволяет нам гарантировать, что в системе не возникнет двух сущностей данного типа.
У нас сущности, для которых хотим применять AppSettings не служебные, а самые что ни на есть прикладные. Pimary Key определён через тип uuid
Можете, пожалуйста, рассказать ваш бизнес-кейс более подробно, что вы хотите сделать?
К сожалению, не очень пока представляю.
Было бы здорово, если удалось приложить какой-то демо-проект, по которому понятен сценарий использования AppSettingsEntity как прикладных сущностей.
Ну, например, в разрезе сущности хотим хранить настройки типа рассчитывать ли поле name (такое поле есть у всех прикладных сущностей) или нет, а если рассчитывать, то по какому алгоритму (формату) и позволять ли его менять пользователю или нет… это только то что касается автонумерации прикладных объектов.
На самом деле есть еще целая куча других настроек, которые хотели бы хранить в данном разрезе.
я правильно понимаю, что вы хотите сделать это для отдельных экземпляров сущностей одного типа? Почему не хранить эти настройки в самой сущности?
Может быть, вы не совсем корректно хотите использовать данный функционал или ожидаете от него того, на что он не рассчитан; в первую очередь он позволяет управлять некоторыми настройками уровня приложения во время работы приложения. Такими настройками могут быть какие-то параметры аудита (уровень логирования), параметры для отправки сообщений.
Ваш же кейс мне до сих пор не понятен, к сожалению.
Нет. Настройки нужны не на уровне отдельных экземпляров сущностей, а на уровне типов сущностей, типа “Заказ”, “Контакт”, “Счет” и т.п.
Что вам мешает в таком случае завести сущности, расширяющие AppSettings для каждого вашего типа, например?
@JmixEntity
@Table(name = "ORDER_SETTINGS_ENTITY")
@Entity
public class OrderApplicationSettings extends AppSettingsEntity {
//settings related to Order, how to process it
}
@JmixEntity
@Table(name = "CONTACT_SETTINGS_ENTITY")
@Entity
public class ContactApplicationSettings extends AppSettingsEntity {
//settings related to Contact, how to process it
}
В них вы, соответственно, можете хранить какие-то настройки, которые сможете изменять во время исполнения и к которым будете иметь доступ во всех экранах и сервисах через io.jmix.appsettings.AppSettings
.