Java 在JOOQ中使用有符号整数

Java 在JOOQ中使用有符号整数,java,jooq,Java,Jooq,我在JOOQ中查询有问题。如何在jooq中使用有符号整数类型,因为它不允许将其强制转换为UIntegers。我在这个相等的方法中得到了错误 public List<Movies> getMovie(int movid) { return dsl.select().from(MOVIES).where(MOVIES.MOVIE_ID.equal(movid)).limit(1).fetch().into(Movies.class); } public List getMovi

我在JOOQ中查询有问题。如何在jooq中使用有符号整数类型,因为它不允许将其强制转换为
UIntegers
。我在这个相等的方法中得到了错误

public List<Movies> getMovie(int movid) {
    return dsl.select().from(MOVIES).where(MOVIES.MOVIE_ID.equal(movid)).limit(1).fetch().into(Movies.class);
}
public List getMovie(int-movid){
返回dsl.select().from(MOVIES).where(MOVIES.MOVIE_ID.equal(movid)).limit(1).fetch().into(MOVIES.class);
}

我怀疑您的
MOVIE\u ID
列在MySQL数据库中的类型是
INTEGER UNSIGNED
。这就是jOOQ的代码生成器为其生成
字段的原因。您有三种选择:

1.继续使用无符号整数 您必须将
movid
变量转换为
UInteger

MOVIES.MOVIE_ID.equal(UInteger.valueOf(movid))
。。。或:

MOVIES.MOVIE_ID.equal(MOVIES.MOVIE_ID.getDataType().convert(movid))
2.停止在jOOQ中使用无符号整数 您可以指示jOOQ代码生成器不生成无符号整数


假的
或者,您也可以在代码生成器配置中使用
,为各个列强制使用未签名类型

3.停止在数据库中使用无符号整数
另一个选择是停止在数据库中使用
未签名的
数据类型,当然,如果您喜欢使用签名类型。

您能告诉我电影ID的类型吗?确保它是整数。是的,它是整数类型整数已经在Java中签名了。我怀疑您正在使用,对吗?我使用了您的第一个选项。它很好用。非常感谢。