Не могу понять как правильно передать в ChoiceBox значение полей из таблицы БД.
В таблице есть
id и
name
Использую ORMLite.
Таким способом получаю id и name:
@Test
public void testGetCategories() throws Exception {
CategoryService service = new CategoryService();
List<Category> list = service.getCategories();
Assert.assertNotNull(list);
for (Category category : list) {
System.out.println(category);
}
}
Category.java@DatabaseTable
public class Category {
@DatabaseField(generatedId = true)
private int id;
@DatabaseField
private String name;
public Category() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Category{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
Ну и на всякий случай
CategoryService.javapublic CategoryService() throws SQLException {
source = new JdbcConnectionSource(url);
dao = DaoManager.createDao(source, Category.class);
}
public List<Category> getCategories() throws SQLException {
return dao.queryForAll();
}
ChoiceBoxcbSubject.setItems(FXCollections.observable*****());
В сам ChoiceBox мне нужно передать список
name, но при этом нужно чтобы при выборе пункта я получал в интовую переменную значение id.
UPD: В данный момент думаю создать двухмерный массив типа String и в него передавать id и name, и уже данные брать с массива, но не уверен что правильное решение.