Я использую 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.
Является ли это возможным? Как это сделать?
так что я могу сделать, если я хочу, чтобы TableView автоматически реагировал на изменения?
в чем именно проблема? все, что нужно вашей сущности, - это геттеры и сеттеры, тогда propertyValueFactory будет выполнять как чтение, так и запись в сущность.
поэтому, когда я хочу создать столбец, в котором будет отображаться поле из объекта, например idRole, мне нужно написать только это? idCol.setCellValueFactory(new PropertyValueFactory<>("idRole"));
что произошло, когда вы попробовали это :) да, это должно сработать. Если нет, предоставьте минимальный воспроизводимый пример, демонстрирующий проблему.




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