1

在我的 RCP 应用程序中,我有一个绑定到 WritableList 人员的 TableViewer:

input = new WritableList(ModelProvider.INSTANCE.getPersons(), Person.class);
ViewerSupport.bind(viewer, input, BeanProperties.values(new String[] { "firstName", "lastName", "married" }));

如果我在 getPersons() 中创建人员,那么在我的 tableviewer 中一切正常。我可以修改一个条目,修改后新值将在表中标记。
获取人员():

persons = new ArrayList<Person>();
persons.add(new Person("Rainer", "Zufall", "male", true));
persons.add(new Person("Reiner", "Babbel", "male", true));
persons.add(new Person("Marie", "Dortmund", "female", false));
return persons;

但是如果人员将从 EntityManager 返回,则修改后的条目将不会在表中标记,尽管将设置 Person 对象中的字段。
获取人员():

factory = persistenceProvider.createEntityManagerFactory(PERSISTENCE_UNIT_NAME,map);
entityManager = factory.createEntityManager();
Query q = entityManager.createQuery("select p from Person p");
List<Person> persons = q.getResultList();
entityManager.close();
return persons;
4

0 回答 0