在对数据库中的表进行选择时遇到问题,由此产生的数据不正确。可以有某种Spring缓存来更新吗?
@Service
public class CronogramaService {
@Autowired
private CronogramaRepository cronogramaRepository;
@Autowired
private EntityManager entityManager;
public List<Cronograma> findAll() {
QCronograma cronograma = QCronograma.cronograma;
return new JPAQuery(entityManager)
.from(cronograma)
.list(cronograma);
}
}
测试主要
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("spring_config.xml");
CronogramaService cronoService = context.getBean(CronogramaService.class);
List<Cronograma> crono = cronoService.findAll();
for (Cronograma cronograma : crono) {
System.out.println(cronograma.getDia());
System.out.println(cronograma.getIdCronograma());
}
System.out.println();
((ClassPathXmlApplicationContext)context).close();
}
该应用程序有2018年的365天。但是id 1的结果将在2017-12-31返回给我。在数据库中,id 1的数据是01-01-2018,我不明白这是什么问题。
答案 0 :(得分:0)
我们遇到了类似的问题,归结为应用服务器和数据库服务器之间的不同时区。假设您正在使用MySQL,请尝试使用serverTimezone参数设置连接到您的数据库,如jdbc:mysql:// server:3306 / database?serverTimezone = Europe / London