IDに次の行を使用してみてください:
@Id
@GenericGenerator(name="gen",strategy="increment")
@GeneratedValue(generator="gen")
@Column(name = "ID", unique = true, nullable = false, precision = 15, scale = 0)
private Long id;
Longを使用することをお勧めしますが、intの使用を主張する場合は、タイプをintに変更するだけです。