2013-08-27 2 views
0

Я новичок в спящем режиме. Я использовал базу данных MYSQL. в моей таблице есть поле даты. его тип - DATE. Существует значение 1989-08-13. Когда я получаю значение с помощью hibernate, он дает эту дату как 6189498000000. Я хочу получить значение как реальную дату (1989-08-13). Пожалуйста, помогите мнеДата возвращения неверна в спящем режиме

Это мой XML-файл

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
<!-- Generated Aug 27, 2013 1:03:09 AM by Hibernate Tools 4.0.0 --> 
<hibernate-mapping> 
    <class name="core.classes.Staff" table="staff" catalog="surgercare"> 
     <id name="staffId" type="int"> 
      <column name="staff_ID" /> 
      <generator class="assigned" /> 
     </id> 
     <property name="staffName" type="string"> 
      <column name="staff_Name" length="150" /> 
     </property> 
     <property name="staffDesignation" type="string"> 
      <column name="staff_designation" length="50" /> 
     </property> 
     <property name="createDate" type="timestamp"> 
      <column name="CreateDate" length="19" /> 
     </property> 
     <property name="createUser" type="string"> 
      <column name="CreateUser" length="200" /> 
     </property> 
     <property name="lastUpDate" type="timestamp"> 
      <column name="LastUpDate" length="19" /> 
     </property> 
     <property name="lastUpDateUser" type="string"> 
      <column name="LastUpDateUser" length="200" /> 
     </property> 
    </class> 
</hibernate-mapping> 

Мой класс файл

import java.util.Date; 

public class Staff implements java.io.Serializable { 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 
    private int staffId; 
    private String staffName; 
    private String staffDesignation; 
    private Date createDate; 
    private String createUser; 
    private Date lastUpDate; 
    private String lastUpDateUser; 

    public Staff() { 
    } 

    public Staff(int staffId) { 
     this.staffId = staffId; 
    } 

    public Staff(int staffId, String staffName, String staffDesignation, 
      Date createDate, String createUser, Date lastUpDate, 
      String lastUpDateUser) { 
     this.staffId = staffId; 
     this.staffName = staffName; 
     this.staffDesignation = staffDesignation; 
     this.createDate = createDate; 
     this.createUser = createUser; 
     this.lastUpDate = lastUpDate; 
     this.lastUpDateUser = lastUpDateUser; 
    } 

    public int getStaffId() { 
     return this.staffId; 
    } 

    public void setStaffId(int staffId) { 
     this.staffId = staffId; 
    } 

    public String getStaffName() { 
     return this.staffName; 
    } 

    public void setStaffName(String staffName) { 
     this.staffName = staffName; 
    } 

    public String getStaffDesignation() { 
     return this.staffDesignation; 
    } 

    public void setStaffDesignation(String staffDesignation) { 
     this.staffDesignation = staffDesignation; 
    } 

    public Date getCreateDate() { 
     return this.createDate; 
    } 

    public void setCreateDate(Date createDate) { 
     this.createDate = createDate; 
    } 

    public String getCreateUser() { 
     return this.createUser; 
    } 

    public void setCreateUser(String createUser) { 
     this.createUser = createUser; 
    } 

    public Date getLastUpDate() { 
     return this.lastUpDate; 
    } 

    public void setLastUpDate(Date lastUpDate) { 
     this.lastUpDate = lastUpDate; 
    } 

    public String getLastUpDateUser() { 
     return this.lastUpDateUser; 
    } 

    public void setLastUpDateUser(String lastUpDateUser) { 
     this.lastUpDateUser = lastUpDateUser; 
    } 

} 

это мой контроллер

tx = ses.beginTransaction(); 
Query query = ses.createQuery("select s from Staff as s where s.staffId = :ID"); 
query.setString("ID", docID); 
List<Staff> DocDetailsList = castlist(Staff.class,query.list()); 
tx.commit(); 
return DocDetailsList; 
+0

Вы не сказали нам, какое поле дает вам проблемы, что не помогает ... –

+0

Есть 2 Даты в java: java.util.Date и java.sql.Date ... убедитесь, что вы не используете смешайте их. – codeMan

+2

618984000 - 1989-08-13 12:00 в формате UNIX. То, что у вас есть, есть миллисекундное представление того же. – tadman

ответ

1

В файле НВМ, есть "временная метка" тип столбца. Пусть спящий режим угадать тип столбца:

<property name="createDate" column="CreateDate" /> 

Другими словами, если у вас есть следующее свойство:

java.util.Date createDate; 

hibernate3-Maven-плагин hibernate3: hbm2ddl цель будет создать следующую колонку в MySql:

`CreateDate` datetime DEFAULT NULL 

Примечание: даты и время и временная метка имеют различные диапазоны. То же самое для Java Long (timestamp) и java.util.Date.