私は Hibernate と JPAContainer を使用しています。エンティティと予期しない動作部分のコードは次のとおりです。
// MyEntity
@Entity
class MyEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String value;
// getters and setters...
}
// set up JPAContainer
JPAContainer c = JPAContainerFactory.make(MyEntity.class, "lazyhibernate");
c.getEntityProvider().setEntityManager(null);
c.getEntityProvider().setEntityManagerProvider(entityManagerProvider);
c.getEntityProvider().setLazyLoadingDelegate(new HibernateLazyLoadingDelegate());
final BeanItem<MyEntity> item = new BeanItem<MyEntity>(new MyEntity());
fill(item); // fill item fields...
MyEntity e = item.getBean();
c.addEntity(e);
c.commit();
System.out.println(e.getId()); // return null
新しく作成されたエンティティのIDを取得するには?