小编Pho*_*bos的帖子

保存到MySQL数据库时如何阻止LocalDate更改

使用JPA CriteriaBuilder API 将LocalDate字段(例如“ 2017-09-27”)保存到mySQL Date列时,结果会有所不同(例如“ 2017-09-26”)。

我已经验证我的数据库的时区设置为UTC SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP),结果是“ 00:00:00”。

我在本地测试这一点,我有GMT + 2的时区,所以我怀疑的是,当发生转换,从LocalDateDate,被扣除生产要求的日期之前的日期1天第2小时(假设LocalDate领域,如没有时间信息的结果将被视为00:00:00。

在这种情况下保存LocalDates的最佳方法是什么?我是否应该按照这里的建议/sf/answers/2082610281/并将所有LocalDate字段显式设置为UTC或类似内容?

我进行了测试,以查看将它们转换为代码时会发生什么,并得到以下结果:

Date convertedDate = Date.valueOf(localDate);
Run Code Online (Sandbox Code Playgroud)

转换结果

编辑

这是我用来检索数据的代码示例,其中也发生了奇数日期更改。如果我要求提供数据2017-06-27,我将收到的结果2017-06-26

CriteriaBuilder criteriaBuilder = sessionFactory.getCriteriaBuilder();
CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(HorseAndTrailerRequest.class);
Root<HorseAndTrailerRequest> criteria = criteriaQuery.from(HorseAndTrailerRequest.class);

ParameterExpression<LocalDate> effectiveDateParameter = criteriaBuilder.parameter(LocalDate.class);
    criteriaQuery.select(criteria)
            .where(
                    criteriaBuilder.equal(criteria.get("effectiveDate"), effectiveDateParameter)
            );

TypedQuery<HorseAndTrailerRequest> query = sessionFactory.getCurrentSession().createQuery(criteriaQuery);
query.setParameter(effectiveDateParameter, date);
return query.getResultList();
Run Code Online (Sandbox Code Playgroud)

mysql jpa-2.0 java-8 hibernate-5.x localdate

13
推荐指数
1
解决办法
1137
查看次数

SafeAreaView 不能在根目录下与 MaterialTopTabNavigator 一起使用

我们在应用程序的根目录中使用MaterialTopTabNavigator( https://reactnavigation.org/docs/en/material-top-tab-navigator.html )。根据 react-navigation 文档,默认情况下应该有一个 SafeAreaView 应用于 TabNavigator。

它似乎只是将插图应用于屏幕顶部,因此(或者我只能假设),底部没有应用填充,这导致 iPhoneX 等手机和其他较大的设备有重叠。

根据 React-Navigation 文档,应该有一个tabBarOptions配置允许您覆盖( )的forceInset道具。但是,在确保我们安装了最新的 react-navigation 包后,无处可寻。SafeAreaViewsafeAreaInsetsafeAreaInset

有没有办法将插图直接应用于 MaterialTopTabNavigator?

我们的 MainNavigator 如下所示:

const MainNavigator = createMaterialTopTabNavigator(
  {
    Group: {
      screen: GroupStack,
      navigationOptions: {
        tabBarIcon: () => (
          <Icon name={'group-work'} color={'#FFF'}/>
        ),
      },
    },
    Stats: {
      screen: StatisticsStack,
      navigationOptions: {
        tabBarIcon: () => (
          <Icon name={'insert-chart'} color={'#FFF'}/>
        ),
      },
    },
    GroupRoundsTab: {
      screen: GroupRoundStack,
      navigationOptions: {
        tabBarIcon: () => (
          <Icon …
Run Code Online (Sandbox Code Playgroud)

react-navigation expo

5
推荐指数
1
解决办法
2195
查看次数