0

我们有一个名为 job 的表,它有一个自引用键。我们使用 JPA 和 eclipselink 作为 JPA 提供者。有时我们会遇到以下异常

异常 [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException 内部异常: com.sybase.jdbc3.jdbc.SybSQLException: 您的服务器命令 (family id #0 , 进程 id #384) 遇到死锁情况。请重新运行您的命令。

我们的 UI 中有一个操作,当执行时,一条 JSM 消息将发送到某个外部组件,并且将在我们的作业表中创建一条记录,然后作业 ID 将发送给客户端,他将被重定向到列出的作业视图表中的所有作业。在他被重定向后,客户端将发送一个 ajax 请求以列出所有作业。在此操作进行期间,我们将收到来自外部组件的通知,然后我们更新作业表记录。

我坚信,随着选择操作的进行,我们正在尝试更新表格,这正在发生。谁能告诉我如何解决这个问题。

提前谢谢大家美好的一天。

4

1 回答 1

0

除了拥有良好的索引之外,您还可以通过更改表的锁定方案来解决选择/更新冲突。

Sybase 在这方面有很好的文档:

性能与调优系列:锁定与并发控制

于 2013-08-23T13:37:01.233 回答