使用 Vaadin 和 Hibernate 创建 table/grid

Creating table/grid with Vaadin and Hibernate

我想创建一个简单的页面,其中将使用数据库中的数据显示 vaadin 的网格。不幸的是,我没有在文档或电影中找到任何解决方案...所以,我有我的 JPA class:

@Entity
@Table
public class Movie {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column
private String movieName;
@Column
private String description;

public Movie(){}

public Movie(String movieName, String description) {
    this.movieName = movieName;
    this.description = description;
}

包含所有的 getter 和 setter。现在我想创建 GUI:

@Route("show-movies")
public class MovieGUI extends VerticalLayout{}

我尝试了所有方法:Grid < Movie>、initializeGrid,但没有任何效果。我只想以简单的方式添加 3 列(名称、描述和操作)并显示来自我的数据库和按钮的数据以创建操作。有谁知道如何解决这个问题?

大致如下:

@Route("show-movies")
public class MovieGUI extends VerticalLayout{
  MovieGUI(MovieRepository repo) {
    Grid<Movie> movieGrid = new Grid<>();
    movieGrid.setItems(repo.findAll());
    movieGrid.addColumn(Movie::getName).setHeader("Name");
    movieGrid.addColumn(Movie::getDescription).setHeader("Description");
    movieGrid.addComponentColumn(movie -> new NativeButton("Action", click-> doSomething(movie)).setHeader("");
    add(movieGrid);
  }
}

在此处查看演示源以获取更多示例:https://vaadin.com/components/vaadin-grid/java-examples