Postgres和GWT的主要提供商

时间:2012-04-21 21:32:21

标签: java postgresql gwt gwt2 postgresql-9.1

对于我的GWT项目,

我最初构建了一个List和一个* KEY_PROVIDER *来唯一地标识List中的记录。现在我已经连接到Postgres数据库而不是List,我想知道是否需要将 ProvideKey 的对象传递给数据库,或者在使用数据库时将其完全删除。

EARLIER -

// Make a provider, connect the List with the provider!
final ListDataProvider<Contact> sortProvider = new ListDataProvider<Contact>(KEY_PROVIDER);
sortProvider.setList(CONTACTS);

立即 -

// Create a data provider.
MyDataProvider sortProvider = new MyDataProvider();
sortProvider.addDataDisplay(table);

我不确定现在需要做什么?

我需要通过 -

MyDataProvider sortProvider = new MyDataProvider(KEY_PROVIDER);

代替?

最佳做法应该是什么?谢谢!

1 个答案:

答案 0 :(得分:1)

ProvidesKey接口仅用于客户端(GWT)以识别您的对象。这对于了解选择列表中的哪个对象以及手动选择CellTable / CellList中的另一行非常重要。

如果你没有指定ProvidesKey实现,CellWidgets将使用你的DTO的equals函数来检查它们是否相等。如果对象本身发生更改,您可能会遇到问题。因此,指定ProvidesKey实施并不依赖于您是使用ListDataProviderAsyncDataProvider还是自定义数据提供商,这始终是一种好习惯。

BTW你的例子中MyDataProvider是什么?它是AsyncDataProvider的子类吗?