2013-04-28 93 views
0

我是Java Persistant和Vaadin的新手。我一直在拼命想弄清楚如何使用SQLContainer,并且我已经取得了一些成功。Vaadin JPAContainer SQLContainer BeanItemContainer

我还成功地使用 BeanItem项目=新BeanItem(新RegisterBean()) 和 email.addValidator(新BeanValidator(RegisterBean.class, “电子邮件”));

保存我的fieldGroup中的数据并验证数据。

但是,我不知道为什么以及如何使用JPAContainer for Java Persistance。 我拼命寻找资源,可以摆脱一些光,但似乎没有太多关于JPAContainer及其在Vaadin中使用的教程或讨论。

谢谢。

回答

1

https://vaadin.com/add-ons/jpacontainer

Vaadin JPAContainer与持久数据对象 连接Vaadin UI组件。您可以使用JPAContainer在一个表,树或任何其他选择组件中显示数据。通过将JPAContainer放置到 可编辑的表格中,您已经创建了一个工作CRUD组件,其中最少的工作量为 。

您可以直接使用/访问实体bean作为数据模型。

使用场景是:直接访问JPA。如果你没有另一个DTO或DAO层。

+0

是的你是对的。但是,这里我的问题是,你能不能直接将表连接到SQLContainer,它本质上会做同样的事情吗? – Thinker 2013-04-29 09:55:48

+0

不完全。对实体的更改进行管理,因此会自动由应用程序服务器持久保留。使用SQLContainer意味着您直接使用此插件来通过JDBC修改数据库表。它有几个缺点,如没有连接池(需要时间来连接和断开连接)。基本上都使用SQL来修改数据。主要区别在于,一个JDBC资源是管理的,而另一个则不是。 JPA提供更复杂的操作,如关联级联。 Java EE 6的无缝集成。除了SQLContainer在V7中不支持,也不会。 – cinhtau 2013-04-29 21:37:05

+0

SQLContainer可以在Java EE服务器环境之外使用。它包装并仅提供直接数据库操作的一个层。如果没有,您只需使用bean并将这些数据用于JDBC/SQL操作。 – cinhtau 2013-04-29 21:46:19