我有简单的“类别”表,有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
@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> {
}
现在,当我尝试
时categoryRepository.findOne(4)
我收到了EntityNotFoundException:
2017-04-11 10:19:28.898 ERROR 16700 --- [nio-8080-exec-1] oaccC [。[。[/]。[dispatcherServlet]:servlet的[Servlet.service()[dispatcherServlet]在path []的上下文中抛出异常[请求处理失败;嵌套异常是org.springframework.orm.jpa.JpaObjectRetrievalFailureException:无法找到id为4的com.rest.domain.Category;嵌套异常是javax.persistence.EntityNotFoundException:无法找到带有根本原因的id为4的com.rest.domain.Category
但是,数据存在于DB中。
可能是RC之前我已经删除了与我的Category实体有@ManyToOne关系的父实体,我猜它会被标记为从entityManager删除:
productRepository.delete(productId);
我该怎么办?我需要以某种方式冲洗吗?
答案 0 :(得分:-1)
确保你的xml hibernate属性配置中的hibernate.hbm2ddl.auto = update
<prop key="hibernate.hbm2ddl.auto">update</prop>