0

私はvaadinjpacontainerを初めて使用します。vaadinjpacontaineragpl-3.0-2.10を使用しています。

Personクラスを作成しましたが、アプリケーションクラスは次のようになります。

EntityManager em = JPAContainerFactory.createEntityManagerForPersistenceUnit("book-examples");

JPAContainer<Person> persons = JPAContainerFactory.make(Person.class, "book-examples");
persons.setReadOnly(false);

persons.addEntity(new Person("Marie-Louise Meilleur", 117));
persons.addEntity(new Person("Sarah Knauss", 122));

Table personTable = new Table("person",persons);
personTable.setReadOnly(false);

persons.getItem(1L).getEntity().setName("Me");
persons.commit();
personTable.commit();
layout.addComponent(personTable);

アプリケーションを実行すると、期待どおりの結果が得られます。最初のアイテムの名前は「Me」です。しかし、データベースをチェックすると、最初のアイテムの名前は「マリー・メイユール・メイユール」です。commitメソッドがデータベースを変更しなかったのはなぜですか?

4

1 に答える 1

2

ああ、ちょうど間違った方法。そのはずpersons.getItem(1L).getItemProperty("name").setValue("me");

于 2013-04-26T15:55:17.320 に答える