Ошибка AppSettingsEntity

JMIX AppSettingsEntity некорректна для ID объекта типа UUID (только Integer)

Функциональность неработоспособна

Спасибо за подробное описание проблемы!

1 симпатия

Какие возможные сроки исправляния?

Добрый день!

Можете более подробно описать возникающие проблемы? С данным аддоном были созданы демопроекты и подобных сложностей не возникало.

С уважением,
Надежда

Коллеги, вместо [Kasparyants Sergey] поясняю. У нас все объекты в ORM имеют ID с типом UUID. AppSettingsEntity поддерживает работу только с сущностями, которые имеют ID с типом integer. Результат: использовать AppSettingsEntity не можем, а нужно.

Всё-таки хотелось бы больше информации, как это вас аффектит.
Сущности, которые расширяют AppSettingsEntity задумывались как служебные, не предполагается, что для них должны быть экраны, их менеджмент ведётся через служебные экраны, в подавляющем количестве случаев работа с ними должна осуществляться через код, через интерфейс AppSettings.
Если уж раскрывать детали, наличие идентификатора с типом Integer также позволяет нам гарантировать, что в системе не возникнет двух сущностей данного типа.

У нас сущности, для которых хотим применять AppSettings не служебные, а самые что ни на есть прикладные. Pimary Key определён через тип uuid :frowning:

Можете, пожалуйста, рассказать ваш бизнес-кейс более подробно, что вы хотите сделать?
К сожалению, не очень пока представляю.
Было бы здорово, если удалось приложить какой-то демо-проект, по которому понятен сценарий использования 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.