Java JPA-EntityNotFoundException,但存在数据库数据
我有4条记录的简单“类别”表:Java JPA-EntityNotFoundException,但存在数据库数据,java,spring,hibernate,spring-data-jpa,Java,Spring,Hibernate,Spring Data Jpa,我有4条记录的简单“类别”表: ID NAME 1 phones 2 tablets 3 notebooks 4 tvs 域类: package com.rest.domain; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @Entity @Tabl
ID NAME
1 phones
2 tablets
3 notebooks
4 tvs
域类:
package com.rest.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="categories")
public class Category {
@Id
@GeneratedValue
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
以及以下简单的JPA存储库:
public interface CategoryRepository extends CrudRepository<Category, Long> {
}
我收到EntityNotFoundException:
2017-04-11 10:19:28.898错误16700---[nio-8080-exec-1]o.a.c.c.c.[/].[dispatcherServlet]:路径[]上下文中Servlet[dispatcherServlet]的Servlet.service()引发异常[请求处理失败;嵌套异常为org.springframework.orm.jpa.JpaObjectRetrievalFailureException:找不到id为4的com.rest.domain.Category;嵌套异常为javax.persistence.EntityNotFoundException:找不到id为4的com.rest.domain.Category],根本原因如下]
但是,数据存在于数据库中
RC可能是,之前我删除了与我的类别实体有@manytone关系的父实体,我猜它被标记为已从entityManager中删除:
productRepository.delete(productId);
我应该怎么做?是否需要以某种方式刷新?确保在xml hibernate属性配置中hibernate.hbm2ddl.auto=update
<prop key="hibernate.hbm2ddl.auto">update</prop>
更新
如果您认为您已经在产品
实体上使用了相关记录,并且可能有助于识别问题(层叠等),那么为什么不能手动删除此记录并重试
<prop key="hibernate.hbm2ddl.auto">update</prop>