package com.jbit.entity;import java.io.Serializable;
import java.util.Date;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;@Entity
@Table(name="auction_product")
public class Product implements Serializable{
private static final long serialVersionUID = 1L;

private Integer id;            //商品编号
private String name;           //商品名称
private String desc;           //商品描述
private Double start_price;    //起拍价
private Double reserve_price;  //底价
private Date begin_date;     //开始拍卖日期
private Date end_date;       //结束拍卖日期
private Integer status=1;        //1:新添加 2:在售 3:已售出 默认为1
@GeneratedValue(generator="sequence")
@SequenceGenerator(name="sequence",sequenceName="sq_product")
@Id
@Column(name="id")
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name="name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column(name="des")
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
@Column(name="start_price")
public Double getStart_price() {
return start_price;
}
public void setStart_price(Double start_price) {
this.start_price = start_price;
}
@Column(name="reserve_price")
public Double getReserve_price() {
return reserve_price;
}
public void setReserve_price(Double reserve_price) {
this.reserve_price = reserve_price;
}
@Column(name="begin_date")
public Date getBegin_date() {
return begin_date;
}
public void setBegin_date(Date begin_date) {
this.begin_date = begin_date;
}
@Column(name="end_date")
public Date getEnd_date() {
return end_date;
}
public void setEnd_date(Date end_date) {
this.end_date = end_date;
}
@Column(name="status")
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
}该方法的开始拍卖日期和结束日期,声明时用的Date类型,用注解怎么让它映射为Date类型?package com.jbit.test;
import java.util.Date;import org.hibernate.Session;
import org.hibernate.Transaction;import com.jbit.entity.Bid;
import com.jbit.entity.Product;
import com.jbit.entity.User;
import com.jbit.util.HibernateUtil;public class Test {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
Session session=null;
Transaction tx=null;
try{
session=HibernateUtil.getSession();
tx=session.beginTransaction();
Product p=new Product();
p.setName("图书");
p.setDesc("民国藏书");
p.setStart_price(2000.00);
p.setReserve_price(2500.00);
Date d=new Date();
d.setYear(2010);
d.setMonth(1);
d.setDate(1);
p.setBegin_date(d);
Date d1=new Date();
d1.setYear(2010);
d1.setMonth(12);
d1.setDate(31);
p.setEnd_date(d1);
p.setStatus(1);
tx.commit();
}catch(Exception ex){
ex.printStackTrace();
tx.rollback();
}
}
}
运行时什么也没发生,控制台什么也没有,怎么办?
如果可以的话,把那两个变量设置成String类型,怎么办也能达到数据库中映射为Date类型的效果?     求解注解hibernate时间类型

解决方案 »

  1.   

    在Date类型的get方法上标记@Temporal注解
    @Temporal(TemporalType.TIME)只存储时间: hh:mm:ss
    @Temporal(TemporalType.DATE)只存储日期: yyyy-MM-dd
    @Temporal(TemporalType.DATETIME) 时间日期一起存储:yyyy-MM-dd hh:mm:ss
    你的控制台没信息,要去数据库里面看数据是否插入进去了
      

  2.   

    有没有办法,在实体类中声明成String类型,但在数据库里可以映射为Date类型的方法?
    没有的话就算了。
    朋友,有没有讲解hibernate注解的资料?好点的,百度上搜的都一样,都那么点属性,具体用法也不是很清楚,害的我用的时候花了好久才配置好
      

  3.   

    有没有办法,在实体类中声明成String类型,但在数据库里可以映射为Date类型的方法?
    没有的话就算了。
    朋友,有没有讲解hibernate注解的资料?好点的,百度上搜的都一样,都那么点属性,具体用法也不是很清楚,害的我用的时候花了好久才配置好
      

  4.   

    有没有办法,在实体类中声明成String类型,但在数据库里可以映射为Date类型的方法
    没有的话就算了。
    朋友,有没有讲解hibernate注解的资料?好点的,百度上搜的都一样,都那么点属性,具体用法也不是很清楚,害的我用的时候花了好久才配置好
    据我所知,不行的。hibernate注解,你可以看hibernate的帮助文档。里面有例子的