Hibernate - 如何提供到整数类型的正确映射?

Com*_*ver 4 java mysql hibernate maven

我正在执行我的 Maven 构建,它抛出了这个异常:

Last cause: Wrong column type in x.clients for column type. Found: tinyint, expected: integer

我这样映射:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
Run Code Online (Sandbox Code Playgroud)

我正在使用 InnoDB 创建列,如下所示:id int NOT NULL UNIQUE AUTO_INCREMENT

这不应该没问题吗?为什么说他正在寻找tinyint?

Ped*_*ñez 5

我知道这个问题(真的!)很老了,但是:

TINYINT 表示 8 位值。它被映射到字节/字节。在这两种情况下,其最小值均为 -128,最大值为 127(含)。

SMALLINT 表示 16 位值。它被映射为短/短。

INTEGER 表示 32 位值。它映射到 int/Integer。

BIGINT 表示 64 位值。它被映射为长/长。

因此,您不能使用 Integer 来映射tinyint;您必须使用一个字节。

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html http://dev.mysql.com/doc/refman/5.7/en/integer-types.html