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 参数连接到您的数据库
我在数据库中将 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 参数连接到您的数据库