JPA 默认开启一级缓存(底层实现是在 EntityManager 层)。 当不同的查询结果映射到同样的 entity 时,一级缓存可能会导致返回数据不符合预期(只查询了一次,后续查询直接返回第一次查询的结果)。 一个例子 一个展示系统的后台,需要分别查询不同指标的月度趋势,查询结果复用同一个 Entity。 @Entity public class MonthlyTrendEntity implements Serializable { private long id; // @Id private Integer year; private Integer month; private