【发布时间】:2016-01-08 01:41:56
【问题描述】:
我有一个使用
的实体@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
我有这个实体的 JPA 存储库。现在我想删除其中一个,但标准方法是delete(int i),因为我的 ID 不是整数,而是长整数,所以它不起作用。所以除了使用int 作为我的 ID 之外,这里还能做什么?我可以指定一个使用 long 的自定义删除方法,就像它与 findbyXX(XX) 一起使用吗?
编辑: 首先:是的,我正在使用 Data JPA!
我想这样做:
jparepository.delete(id);
如果 id 是整数:
org.hibernate.TypeMismatchException: Provided id of the wrong type for class com.Entity. Expected: class java.lang.Long, got class java.lang.Integer
如果 id 很长:
no method found for delete(long)
所以我可以将我的 ID 更改为 int(我不想这样做),或者找到一种方法让存储库与 long 一起工作。问题是如何
【问题讨论】:
-
假设您使用的是spring data jpa,您使用的是什么版本?