java – JPA / Spring / Delete Entity,输入Mismatch(int / long
发布时间:2020-12-15 02:54:52 所属栏目:Java 来源:网络整理
导读:我有一个使用的实体 @Id@GeneratedValue(strategy = GenerationType.AUTO)private long id; 我有一个这个实体的JPA存储库.现在我想删除其中一个,但标准方法是delete(int i),这是行不通的,因为我的ID不是Integers,而是Longs.所以除了使用int作为我的ID之外,该
我有一个使用的实体
@Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; 我有一个这个实体的JPA存储库.现在我想删除其中一个,但标准方法是delete(int i),这是行不通的,因为我的ID不是Integers,而是Longs.所以除了使用int作为我的ID之外,该怎么做?我可以指定一个使用long的自定义删除方法,就像它与findbyXX(XX)一起使用吗? 编辑: 我想做这个: 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,这是我不想做的,或者找到一种让Repository长时间工作的方法.问题是如何 解决方法
好的结果证明这只是一个愚蠢的错误.所以我的JPARepository看起来像这样:
public interface EntityRepository extends JpaRepository<Entity,Integer> { 这显然是愚蠢的,因为Integer在这里必须是Long,因为它代表了实体上id字段的类型.这就是我改变了,现在它有效.发生这种情况是因为我刚刚学会了使用JpaRepository而且并不真正理解“整数”是什么.所以现在我知道了.无论如何,谢谢你的帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |