来自Tables的JPA实体将int主键转换为String

时间:2015-02-12 03:18:58

标签: java mysql hibernate jpa eclipselink

我使用Eclipse - >来自Tables的JPA实体从mysql数据库中生成实体。所有表格'主键 - ids是int(11)AI PK。所以不是int或long,而是我为所有键获取String。我做错了什么?

谢谢!

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="LOCATION_ID")
private String locationId; 

2 个答案:

答案 0 :(得分:2)

Eclipse无法正确解析主键的数据类型(int(11))。因此,Eclipse无法将适当的数据类型解析为Java类型映射。由于缺少该映射,Eclipse将主键属性的数据类型默认为String。您可以从数据类型中删除显示宽度属性(即(11)),Eclipse应该能够更恰当地映射数据类型。

答案 1 :(得分:0)

刚刚在生成实体时发现,点击id和eclipselink将允许您选择映射类型。选择int而不是String就可以了。