Java 播放框架oracle序列错误

Java 播放框架oracle序列错误,java,oracle,playframework-2.0,Java,Oracle,Playframework 2.0,我正在尝试使用以下代码从oracle获取序列: // ID field @Column(name = "REC_ID", scale = 14) @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_TEST") @SequenceGenerator(name="SEQ_TEST", sequenceName="SEQ_TEST", allocationSize=1) private long recId

我正在尝试使用以下代码从oracle获取序列:

// ID field
@Column(name = "REC_ID", scale = 14)
@Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_TEST")
@SequenceGenerator(name="SEQ_TEST", sequenceName="SEQ_TEST", allocationSize=1)
private long recId;
序列号是14位长。问题是我在终端上遇到错误:

原因:java.sql.SQLException:数值溢出 位于oracle.jdbc.driver.NumberCommonAccessor.throwOverflow(NumberCommonAccessor.java:4381) 位于oracle.jdbc.driver.NumberCommonAccessor.getInt(NumberCommonAccessor.java:112) 位于oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:942) 在com.avaje.ebean.config.dbplatform.SequenceIdGenerator.getMoreIds(SequenceIdGenerator.java:194)上 ... 还有31个

我确实尝试使用长、双、大十进制。当将序列更改为10位时,它可以工作,所以我感觉它与64位有关,但我在OSX上运行java,所以它是64位java



知道有什么问题吗

调用堆栈显示了对“.getInt()”的调用,这意味着出于某种原因,它试图以int而不是long返回值。不知道为什么。有趣。我看到了,我也不确定为什么当我把场地设置得这么长时,Play会认为它是int。。我想知道是否有人知道如何强制它使用Long。似乎在ebean中有一个默认使用的限制,根据中的getMoreIds代码,它只返回int而不是Long。非常奇怪。