我正在使用JPAContainer和Hibernate4.3开发一个Vaadin webapp。我遵循了这个链接的说明,成功地实现了EntityManager-per-Request模式。这意味着惰性加载可以很好地用于JPAContainer
但是,每次我需要使用纯JPA时,它都无法延迟负载。
下面是一个示例代码:
try {
entityManagerProvider.getEntityManager().getTransaction().begin();
List<SubEntity> subEntitiesList = myEntity.getCollectionOfEntities(); //Fails to load
for (SubEntity subEntity : subEntitiesList) {
subEntity.doSomething();
entityManagerProvider.getEntityManager().merge(subEntity);
}
entityManagerProvider.getEntityManager().flush();
entityManagerProvider.getEntityManager().getTransaction().commit();
} catch (Exception ex) {
entityManagerProvider.getEntityManager().getTransaction().rollback();
}
//datasource is JPAContainer<MyEntity> type
datasource.removeItem(index);
另外,当我从JPAContainer中移除实体时,我会收到一个错误:org.hibernate.PersistentObjectException:将分离的实体传递到Persister
有没有人能给我一些如何处理这个问题的提示?
我看到两种方法。
将分离实体的更改合并到数据库
只需合并实体并对托管值进行操作即可。
Entity managed = em.merge(entity);
for (SubEntity sub : managed.getSubEntities()) {
sub.doSomething();
}
Entity managed = em.find(entity.getClass(), entity.getId());
entity.setSubEntities(managed.getSubEntities());
// initialize lazy collections and collection elements
JpaUtils.initialize(em, entity, 2);
Vaadin7会话超时有几个问题。首先,即使我尝试将heartbeatinterval更改为20秒,Vaadin debug仍然说它是默认值300秒。 另一个问题是,除了通信错误消息之外,我根本无法获得会话超时消息。无论会话是1分钟还是2分钟,或者比heartbeatinterval更长的时间都无关紧要。 第三个问题是,在通信错误消息中总是有“无效的JSON-response from serve
我有一个问题发生在我坐在空闲的时候,没有接触网络浏览器,vaadin在点击vaadin应用程序中的任何内容之后,就会抛出红色的通信问题错误消息。 我已经通过30分钟不接触浏览器进行了测试。之后,当我单击vaadin应用程序中的一个按钮时,它会抛出通信错误消息。 我有两个应用服务器,它们位于Rackspace的负载均衡器后面。我还启用了“粘性会话”... vaadin可能有自己的超时吗?
我在学习冬眠时遇到了一个问题。我写了UnitTest和那里我尝试添加对象到DB。所有选择都正常工作,但插入不正常。 我也尝试过这样的东西 它引发了一个异常,事务没有成功启动,但它添加了用户 这里有一个例外 组织。springframework。交易TransactionSystemException:无法回滚Hibernate事务;嵌套的异常是org。冬眠TransactionException:
1. 前言 本节课程将和大家一起聊聊 Hibernate 的核心组件之一: Session 对象。 通过本节课程,你将了解到: 创建 Session 对象的 2 个方法; 线程上下文的作用。 2. 创建 Session 对象 Session 是 Hibernate 的重要组件之一,是交给开发者的一把利剑。开发者可使用 Session 对象提供的增、删、改、查(Crud)等方法实现基础的数据操作。
1. 前言 Hibernate 的核心价值观是:开发者们!做你们应该做的。脏的、累的、没技术含义的由本尊来做。 本节课和大家一起好好的聊聊 Hibernate 的核心组件之一:会话工厂(SessionFactory)。 通过本节课,你将学习到: 会话工厂的设计要求; 会话工厂的核心功能。 2. 会话工厂的作用 原生 Jdbc 开发如同自己炒菜做饭,需经手买菜、洗菜、做菜……一系列过程。 基于 Hi
是否可以限制会话和与之相关的请求可以使用的内存量? 例如,我希望将每个用户会话限制为一兆字节。此限制应适用于处理请求时创建的任何对象。有可能吗?