Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate-如何提供到整数类型的正确映射?_Java_Mysql_Hibernate_Maven - Fatal编程技术网

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

Java Hibernate-如何提供到整数类型的正确映射?,java,mysql,hibernate,maven,Java,Mysql,Hibernate,Maven,我正在执行maven构建,它会引发以下异常: 最后一个原因:x.clients中的列类型对于列类型是错误的。找到:tinyint,应为:整数 我是这样映射的: @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer id; 我使用InnoDB创建列,如下所示:id int NOT NULL UNIQUE AUTO_INCREMENT 这样不好吗?为什么说他正在寻找tinyint?将此添加到id字段的注释中: @Co

我正在执行maven构建,它会引发以下异常:

最后一个原因:x.clients中的列类型对于列类型是错误的。找到:tinyint,应为:整数

我是这样映射的:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
我使用InnoDB创建列,如下所示:
id int NOT NULL UNIQUE AUTO_INCREMENT


这样不好吗?为什么说他正在寻找tinyint?

将此添加到
id
字段的注释中:

@Column(columnDefinition = "TINYINT")

尝试添加类型批注:

@Type(type = "org.hibernate.type.IntegerType")
用于基本整数。你可以一直尝试声明你的身份证。我通常总是用Long来表示我的ID。见:


我刚刚遇到了这个问题,分享细节应该是有用的。我的情况是:

  • 您可以定义@Column(…definition=“integer”)
  • Oracle将“整数”翻译成十进制(0,-127)(或十进制(0),我还不清楚)
  • 您可以使用其他一些应用程序,其中“test.hibernate.hbm2ddl.auto”是“validate”
  • Hibernate报告该整数!=十进制和验证失败
我唯一的解决方案是保持test.hibernate.hbm2ddl.auto为空(未定义=未触及数据库)。不确定是Oracle还是Hibernate bug(或两者兼而有之)。

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

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

SMALLINT表示16位值。它被映射到short/short

整数表示32位值。它被映射到int/Integer

BIGINT表示64位的值。它被映射到long/long

所以,你不能用整数映射一个小细节;必须使用字节


仍然给我相同的异常。仍然给我相同的异常。我认为这与Wicket无关,请您删除“Wicket”标记好吗?让我显示您的客户实体。好吧,只要确实做到了这一点,就设置id。但由于某些原因,我不能在整数上使用一个小整数。啊,好吧。你为什么建议一个小的字节映射而不是一个短的?
@Type(type = "org.hibernate.type.IntegerType")
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;