【发布时间】:2016-11-30 21:34:54
【问题描述】:
我的设置是 Appengine + hibernate + mysql
有时应用会抛出异常:
org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions:键“PRIMARY”的重复条目“466”
不幸的是,这种情况并不经常发生,也不容易复制。
我的实体是这样构造的:
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
@Entity
@Table(name = "Game")
public class Game {
@Id
@GeneratedValue(generator = "increment")
@GenericGenerator(name = "increment", strategy = "increment")
private Long srvId;
...
我知道 Google App Engine 不支持 Identity 作为生成器策略。我注意到的是,重新部署应用程序后问题消失了。然后它可以在一段时间后再次发生。奇怪的是,在 GAE 的日志中,我可以看到在异常期间没有其他请求继续进行,即使重试请求,15 秒后再次抛出异常。 (请求之间的时间为 15 秒)1 分钟后问题消失。
它与缓存有关吗? (我没有配置任何)或应用引擎上的多个sql实例?
【问题讨论】:
标签: java mysql hibernate google-app-engine