java - EntityManager.find() 或 EntityManager.CreateQuery() 在获取数据时不一致
问题描述
在我的hibernate 5.0
中,我正在使用EntityManager.find(class,id)
并且它正在根据 Id 获取对象,但它不一致,有时它没有获取数据并且数据在 中可用DB (MySql)
,我也尝试过EntityMa,nager.CreateQuery("")
同样的问题,因为我调试并发现它没有命中数据库,我无法找出根本原因。下面是我的DAO and model
@Override
public User getUserById(int userId)
{
User user = null;
try {
logger.info("fetching user details of userid :"+userId);
user = entityManager.find(User.class,userId);
} catch (HibernateException e) {
logger.error("Error finding user : " + e);
}
return user;
}
模型:
@Entity @Table(name = "user",
uniqueConstraints= @UniqueConstraint(columnNames={"email_id"}))
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "user")
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
@GenericGenerator(name = "native", strategy = "native")
@Column(name = "user_id")
private int userId;
/** some more column and getter setter **/
//Mappings
@JsonIgnore
@Access(AccessType.PROPERTY)
@OneToMany(mappedBy = "userId", fetch = FetchType.EAGER)
private Set<Contract_Reviewer> contract_Reviewer;
@ManyToOne(fetch = FetchType.EAGER,cascade = {CascadeType.ALL}, optional = false)
@JoinColumn(name = "department_id")
private Department departments;
}
解决方案
推荐阅读
- spring - SpringBoot 新手。尝试连接到 postgeSQL 数据源(学生数据库)
- reactjs - NGINX 子目录后面的 ReactJS
- java - 未从可执行 jar 加载的外部 log4j 配置文件
- google-bigquery - 从 BigQuery 中的 json 字符串中提取信息
- f# - 寻找有关使用标记值的分类更改问题的反馈
- java - JButton 更改其他按钮颜色,不包括单击的按钮
- javascript - 在 JavaScript 中将 2D 嵌套数组转换为 1D 数组?
- javascript - 在 map() 中反应 CSStransition 或 React-spring
- html - 尝试将图像放入具有相同颜色的容器中
- macos - 在 OS X 中处理打开最近的菜单的最佳方法是什么?