小编Ble*_*lem的帖子

为什么非宽松的SimpleDateFormat用字母解析日期?

当我运行以下代码时,我会期待一个堆栈跟踪,但它似乎忽略了我的的错误部分,为什么会发生这种情况?

package test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
  public static void main(final String[] args) {
    final String format = "dd-MM-yyyy";
    final String value = "07-02-201f";
    Date date = null;
    final SimpleDateFormat df = new SimpleDateFormat(format);
    try {
      df.setLenient(false);
      date = df.parse(value.toString());
    } catch (final ParseException e) {
      e.printStackTrace();
    }
    System.out.println(df.format(date));
  }

}
Run Code Online (Sandbox Code Playgroud)

输出是:

07-02-0201

java simpledateformat

12
推荐指数
2
解决办法
2268
查看次数

从Hibernate保存到数据库的对象出错时间戳

我是Hibernate的新手,并且正在开发一个使用它的Web项目.

我有一个名为area的对象,它有一个date object(java.sql.Timestamp)属性modifiedDate.当我创建一个新对象时,modifieDate为null,并在将其发送到getHibernateTemplate().saveOrUpdate(area);我自己的类中后,将org.springframework.orm.hibernate3.support.HibernateDaoSupport其扩展为当前时间戳并保存在数据库中.在数据库中,它保存为datetime.

我的问题是大多数情况下,使用与数据库中保存时相比1毫秒的日期更新对象,如果在不重新加载页面的情况下尝试更新任何内容,则会导致此异常:

an org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)
Run Code Online (Sandbox Code Playgroud)

从后续数据库获取对象时,正确的日期没有问题,只有在创建时它才会获得错误的值.

有没有办法在SaveOrUpdate中获取正确的modifiedDate?

如果需要映射使用,<timestamp name="modifiedDate" column="ModifiedDate"/>并且所有测试都在localhost上运行,一切都在同一台机器上运行.

我已经有一个解决方法,通过getHibernateTemplate().refresh(area);在saveOrUpdate之后调用我得到正确的时间戳,但我仍然想知道是否有办法在saveOrUpdate中获取正确的modifiedDate.

java spring datetime hibernate

7
推荐指数
1
解决办法
2318
查看次数

标签 统计

java ×2

datetime ×1

hibernate ×1

simpledateformat ×1

spring ×1