我正在尝试使用以下代码从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:数字溢出 at oracle.jdbc.driver.NumberCommonAccessor.throwOverflow(NumberCommonAccessor.java:4381) at oracle.jdbc.driver.NumberCommonAccessor.getInt(NumberCommonAccessor.java:112) at oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:942) at com.avaje.ebean.config.dbplatform.SequenceIdGenerator.getMoreIds(SequenceIdGenerator.java:194) ......还有31个
我确实尝试使用Long,Double,BigDecimal。将序列更改为10位数时,它有效,所以我感觉它与64位有关,但我在OSX上运行java,所以它是64位java。
知道可能是什么问题吗?