小编Raj*_*hra的帖子

java.math.BigInteger无法强制转换为java.math.BigDecimal

我们正在从Oracle迁移到PostgreSQL.某些特定于Oracle的查询必须更改为Postgres等效项.以下是一个这样的提交:

原来,

Query query = getEntityManager().createNativeQuery("SELECT PC_SITE_GROUP_ID_SEQ.NEXTVAL from DUAL");
BigDecimal result = (BigDecimal) query.getSingleResult();
Run Code Online (Sandbox Code Playgroud)

被改为,

Query query = getEntityManager().createNativeQuery("SELECT NEXTVAL('pc_site_group_id_seq')");
BigDecimal result = (BigDecimal) query.getSingleResult();
Run Code Online (Sandbox Code Playgroud)

在运行时,在更改之后,它会抛出错误,

java.math.BigInteger无法强制转换为java.math.BigDecimal

我的问题是它为什么以前工作?提醒一下,第一个更改是在Oracle数据库上运行,而第二个更改是在Postgres数据库上运行.请帮忙.

java sql oracle postgresql math

6
推荐指数
1
解决办法
1221
查看次数

Lombok的@NonNull注释是否允许默认构造函数提供空值?

我上课说C

class C {
  @NonNull
  private String str;
  //getters
  //setters
}
Run Code Online (Sandbox Code Playgroud)

现在我做了这样的事情:

C ob = new C();
System.out.println(ob.getStr());
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,它打印为空。

但是,当我这样做时,它给了Null指针异常:

ob.setStr(null)
Run Code Online (Sandbox Code Playgroud)

@NonNull不上默认构造持有?请解释。

java lombok

2
推荐指数
1
解决办法
8405
查看次数

标签 统计

java ×2

lombok ×1

math ×1

oracle ×1

postgresql ×1

sql ×1