用hibernate向oracle中插入数据时,sequence id 插入一个科学计数法数字的问题
如题,应用sequence生成id后,插入的id值显示为科学计数法。
配置文件如后:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="ge.threatscan.dataaccess.domainobject">
<class name="Command" table="RMD_COMMAND" >
<id name="id" type="int" column="ID" >
<generator class="sequence">
<param name="sequence" >RMD_COMMAND_SEQ</param>
</generator>
</id>
<property name="userID" type="string" column="USER_ID"></property>
<property name="status" type="string" column="STATUS"></property>
<property name="command" type="string" column="COMMAND"></property>
<property name="commandParameters" type="string" column="COMMAND_PARAMS"></property>
<property name="createTime" type="timestamp" column="CREATE_TIME"></property>
<property name="modifiedTime" type="timestamp" column="MODIFIED_TIME"></property>
</class>
</hibernate-mapping>
百思不得其解,偶尔发现给时间赋值时先转成指定的时间格式再转回来,就不会出现此问题。
public static Date convertImpactDate(Date date) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
try {
String temp = sdf.format(date);
date = sdf.parse(temp);
} catch (ParseException e) {
throw e;
}
return date;
}
虽然现在好用,但是处理方法有些搞笑. :)
似乎大家很少有人遇到这个问题,怎么我刚开始用就碰到了,而且不是偶然事件,请高手指教.