Использование TableView в JavaFX с классом Entity

Я использую Hibernate для загрузки данных из БД. У меня есть сущность, которая выглядит так:

@Data
@Entity
@NoArgsConstructor
public class Role {
    @Id@GeneratedValue@Column(name = "ID_ROLA")
    private int idRole;
    @Basic@Column(name = "NAZWA")
    private String name;
    @Basic@Column(name = "UPRAWNIENIA")
    private Integer permits;
}

И класс RoleDAOImpl, у которого есть такие методы, как add(), search() или getListofRoles().

Теперь я хочу связать этот класс Сущность с Таблица, чтобы показать все мои роли (у меня есть все роли в моих ролях List<Role>).

Как я могу добавить это в TableView? Я знаю, что TableView должен быть привязан к XPProperties, например StringProperty. Но я не хочу делать StringProperty в моем классе Entity, потому что я думаю, что это может разрушить мою структуру базы данных или что-то в этом роде.

Я хотел бы иметь отдельный класс для свойств. Я подумал о создании класса Ролеватаблемодель, который будет содержать свойства класса Role, а затем привязать класс RoleTableModel к TableView.

Является ли это возможным? Как это сделать?

Используйте PropertyValueFactory. Обратите внимание, что ваш TableView не будет реагировать на какие-либо изменения существующих Role объектов (вам нужно удалить и снова добавить их).

Jai 25.03.2019 07:53

так что я могу сделать, если я хочу, чтобы TableView автоматически реагировал на изменения?

Rocky3582 25.03.2019 08:17

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

kleopatra 25.03.2019 10:36

поэтому, когда я хочу создать столбец, в котором будет отображаться поле из объекта, например idRole, мне нужно написать только это? idCol.setCellValueFactory(new PropertyValueFactory<>("idRole"));

Rocky3582 25.03.2019 10:44

что произошло, когда вы попробовали это :) да, это должно сработать. Если нет, предоставьте минимальный воспроизводимый пример, демонстрирующий проблему.

kleopatra 25.03.2019 12:28
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
56
0

Другие вопросы по теме