Isn't this something that an external library can do? I would think that
writing an adapter that can read JPA annotations is the way to go. After
all, most entities are not written with JavaFX properties.

On Sun, Jan 22, 2023 at 2:08 AM Thiago Milczarek Sayão <
thiago.sa...@gmail.com> wrote:

> Hi,
>
> TableView data usually comes from a database and is mapped to java objects
> (I don't have actual statistics on this but it's probably a true assertion).
> It Would be very useful if we could just copy database mapped objects to
> javafx observables and say: Display it on a tableview.
> Configuration of each column would be done as an annotation, like this:
>
> public class EmployeeObservable {
>     @Column(label = "Registration", style = "-fx-alignment: right")
>     private IntegerProperty registration = new SimpleIntegerProperty();
>
>     @Column(label = "Name")
>     private StringProperty name = new SimpleStringProperty();
>
>     @Column(label = "Salary", converter = BigDecimalCurrencyConverter.class)
>     private ObjectProperty<BigDecimal> salary = new SimpleObjectProperty<>();
>
>     //boilerplate here
> }
>
>
> Other annotation options:
>
> @Column(ignore = true)
>
> @Column(graphicsConverter = CheckBoxGraphicsConverter.class)
>
> And to apply it:
>
> TableViewBuilder<EmployeeObservable> builder = new 
> TableViewBuilder<>(tableView, EmployeeObservable.class);
> builder.build();
>
>
> I actually have implemented this and it's very useful. I can't share it
> because I've done it for a private company, but it's easy to re-do it.
>
> I'm not sure if it would go in a general purpose toolkit, but I thought it
> would be nice to share (the idea).
>
> -- Thiago.
>
>

Reply via email to