Java Hibernate-如何提供到整数类型的正确映射?
我正在执行maven构建,它会引发以下异常: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
最后一个原因: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报告该整数!=十进制和验证失败
仍然给我相同的异常。仍然给我相同的异常。我认为这与Wicket无关,请您删除“Wicket”标记好吗?让我显示您的客户实体。好吧,只要确实做到了这一点,就设置id。但由于某些原因,我不能在整数上使用一个小整数。啊,好吧。你为什么建议一个小的字节映射而不是一个短的?
@Type(type = "org.hibernate.type.IntegerType")
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;