我有一个应用程序想要对与Hibernate和/或持久性有关的可能问题进行测试验证。
还有什么其他问题? 我如何(从字面上)复制它们?您如何从他们那里康复呢?
明确地说:我正在谈论多线程集群环境(最复杂的集群环境)。
我的唯一:
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)
复制:
句柄:不确定…
延迟加载是您将遇到的主要问题之一,尤其是如果遵循标准的DAO模式。您将最终获得延迟加载的集合,但是从DAO层出来后,spring(或者如果不使用spring的话,其他东西)可能会关闭会话。
public class MyDaoImpl implements MyDao {
@Override
@Transactional
public void save(MyObject object) { ... }
}
在这种情况下,当“保存”的调用完成时,如果您不在另一个事务中,spring将关闭您的会话。结果,对延迟加载的对象的任何调用都将引发LazyInitializationException。
解决此问题的典型方法是将会话绑定到当前线程。在webapps中,您可以使用OpenSessionInViewFilter轻松完成此操作。对于命令行,您可能需要编写一个实用程序方法,该方法创建会话,绑定到当前线程,然后在完成后解除绑定。您可以在网上找到所有示例。
在集合的主题上,如果您使用“更新”方法(同样,您通常会使用标准DAO模式进行操作),则必须注意不要替换集合实例,而应该操作已经存在的集合到位。否则,hibernate状态将很难确定需要添加/删除/更新的内容。
问题内容: 我有一个数据库视图,该视图产生的结果集没有真正的主键。我想使用Hibernate / Persistence将结果集映射到Java对象上。当然,因为没有PK,所以我不能用修饰任何字段。 部署时,Hibernate抱怨缺少该组件。我该如何解决? 问题答案: 如果存在使行唯一的列组合,请围绕列组合建模主键类。如果没有,您基本上就不走运了-但您应该重新检查视图的设计,因为它可能没有意义。 有
WorkerMan在接口上支持各种协议,只要符合ConnectionInterface接口即可(参见定制通讯协议章节)。 为了方便开发者,WorkerMan提供了HTTP协议、WebSocket协议以及非常简单的Text文本协议、可用于二进制传输的frame协议。开发者可以直接使用这些协议,不必再二次开发。如果这些协议都不满足需要,开发者可以参照定制协议章节实现自己的协议。 开发者也可以直接基于t
问题内容: 休眠中哪些是分离的,持久的和短暂的对象?请举例说明。 问题答案: 甲其不与相关联的永久类的实例,有在数据库中没有表示和没有标识符值被认为是 瞬时 的休眠: 甲 持久 实例具有在数据库中的表示,标识符值,并与一个相关联。您可以通过将瞬态实例与关联来使其 持久化 : 现在,如果我们使用Hibernate ,则持久化实例将成为一个 分离的 实例:它不再附加到实例上(但是仍然可以修改,但是稍后
问题内容: JodaTime有一个提供Hibernate持久性的库。最近,我开始研究Joda-Money,开始了解如何使用hibernate来保持这种状态,而我看不到任何库。 有什么建议么? 问题答案: 好吧,我把你的意见,并炮制了钱的自定义类型为乔达库中的定义,作为参考的人可以看看它在这里,在这里使用和测试自定义类型在这里
本文向大家介绍Redis 常见的性能问题有哪些?该如何解决?相关面试题,主要包含被问及Redis 常见的性能问题有哪些?该如何解决?时的应答技巧和注意事项,需要的朋友参考一下 主服务器写内存快照,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性暂停服务,所以主服务器最好不要写内存快照。 Redis 主从复制的性能问题,为了主从复制的速度和连接的稳定性,主从库最好在同一个局域网内。
本文向大家介绍常见的异常类有哪些?相关面试题,主要包含被问及常见的异常类有哪些?时的应答技巧和注意事项,需要的朋友参考一下 NullPointerException 空指针异常 ClassNotFoundException 指定类不存在 NumberFormatException 字符串转换为数字异常 IndexOutOfBoundsException 数组下标越界异常 ClassCastExce