JPA with QueryDSL select 查询不正确的结果

JPA with QueryDSL select query incorrect result

我在数据库中将 select 转换为 table 时遇到问题,由此产生的数据不正确。可以更新某种 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 returns 中的结果是 2017-12-31 那天。数据库中id 1的数据是01-01-2018,不明白是什么问题

我们有一个类似的问题,归结为应用程序服务器和数据库服务器之间的不同时区。假设您正在使用 MySQL,请尝试使用设置为 jdbc:mysql://server:3306/database?serverTimezone=Europe/London

的 serverTimezone 参数连接到您的数据库