2016-03-14 4 views
0

Я новичок в стойках и Hiberante. Я пытаюсь сопоставить дату в таблице SQL, всегда добавляются значения null. Я не получаю четкое изображение, где ошибка или ошибка в коде?java.util.Date mapping in Hibernate

package com.acv.in.bean; 
import java.io.Serializable; 
import java.util.Date; 
public class Student implements Serializable{ 
private long stuid; 
private String sfname; 
private String slname; 
private Date dob; 
private String standard; 
private String ffname; 
private String flname; 
private String mfname; 
private String mlname; 
private String gfname; 
private String glname; 
private long phone; 


public Student(String sfname, String slname, Date dob, String standard, 
     String ffname, String flname, String mfname, String mlname, 
     String gfname, String glname, long phone) { 
    super(); 
    this.sfname = sfname; 
    this.slname = slname; 
    this.dob = dob; 
    this.standard = standard; 
    this.ffname = ffname; 
    this.flname = flname; 
    this.mfname = mfname; 
    this.mlname = mlname; 
    this.gfname = gfname; 
    this.glname = glname; 
    this.phone = phone; 
    } 

    public Student() { 

    } 
    //getter and setter 
} 

мой файл отображение

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping> 

<class name="com.acv.in.bean.Student" table="student" > 
    <id name="stuid" type="long" > 
     <column name="stuid" /> 
     <generator class="org.hibernate.id.TableHiLoGenerator"/> 
    </id> 
    <property name="ffname" type="string" column="ffname" /> 
    <property name="flname" type="string" column="flname" /> 
    <property name="gfname" type="string" column="gfname" /> 
    <property name="glname" type="string" column="glname" /> 
    <property name="mfname" type="string" column="mfname" /> 
    <property name="mlname" type="string" column="mlname" /> 
    <property name="sfname" type="string" column="sfname" /> 
    <property name="slname" type="string" column="slname" /> 
    <property name="standard" type="string" column="standard" /> 
    <property name="dob"  type="date"  column="dob" /> 
    <property name="phone" type="long"  column="phone" /> 

</class> 
</hibernate-mapping> 

это проблема версии (для Hibernate/распорок)?

+0

Тип всегда должен быть полным классом Java-класса: java.util.Date, java.lang.Long и т. Д. – markbernard

ответ

1

Дата может быть использован в следующих форматах:

|--------------|-------------------------------------|---------------| 
| Mapping type | Java type       | ANSI SQL Type | 
|--------------|-------------------------------------|---------------| 
| date   | java.util.Date or java.sql.Date  | DATE   | 
| time   | java.util.Date or java.sql.Time  | TIME   | 
| timestamp | java.util.Date or java.sql.Timestamp| TIMESTAMP | 
| calendar  | java.util.Calendar     | TIMESTAMP | 
| calendar_date| java.util.Calendar     | DATE   | 
|--------------|-------------------------------------|---------------| 

Ваши сниппеты программирования выглядеть правильно. Позвольте мне предложить пару изменений, чтобы узнать, могут ли они помочь. Заменить заголовок с этим:

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 

Кроме того, его стоит попробовать, используя родной класс генератора (хотя я сомневаюсь, что это вопрос).

<generator class="native"/> 

И наконец:

<property name="dob" type="calendar_date" column="dob" /> 

Если это не помогает, то предоставить больше кода (подключение и классы DAO и др.)

2

Здесь Интеграция Hibernate с базой данных. его никакой роли стойки с интеграцией Hibernate. его работу самостоятельно.

Struts - интерфейсный интерфейс (UI). Каркас карты и Hibernate - это базовая структура отображения базы данных.

Для интеграции Дата с Hibernate всегда использует Java.util.Date. или попробуйте с Joda DateTime.

+0

спасибо piyush !!! – Shaurya