Hibernate 小部分数据类型的转换

Worker类
/**
* 当一个类被标注为实体类后如果没有增加主键的标识,
* 则报异常:
* Caused by: org.hibernate.AnnotationException:
* No identifier specified for entity: com.hsj.domain.Worker
* @author h
*
*/
@Entity
@Table(name=”t_worker”)
public class Worker {

@Id @GeneratedValue
private int id;

**@Transient** //要想让哪个字段不参与生成表中字段,可以打注解@Transient
private String name;

/**
 * 指定float数据类型的精度
 * scale=6:总位数为6
 * precision=2:小数位数为2
 * 
 */
@Column(scale=6,precision=2)
private float salary;

/**
 * 标识当前字段的数据类型为longtext,可以存储4G的内容
 */
@Lob
private String info;

/**
 * MySQL的四种BLOB类型
    类型 大小(单位:字节)
    TinyBlob 最大 255,是默认值
    Blob 最大 65K
    MediumBlob 最大 16M
    LongBlob 最大 4G
 */
@Column(columnDefinition="LongBlob")
private byte[] header;


@Column(name="w_workDate")
**@Temporal(TemporalType.DATE)**
private Date workDate;

…..

public class HibernateDemo01 {

public static void main(String[] args) {
    Session session=HibernateUtils.getSession();

    Transaction transaction=session.beginTransaction();

    //5678.94
    //session.save(new Worker("小丽", **5678.93756f**, "小丽你好", **"小丽你好呀".getBytes()**, new Date()));

    //56789.9
    //session.save(new Worker("小丽", 56789.93756f, "小丽你好", "小丽你好呀".getBytes(), new Date()));
    //567890.9===>567891
    //session.save(new Worker("小丽", 567890.93756f, "小丽你好", "小丽你好呀".getBytes(), new Date()));

    //5678910
    session.save(new Worker("小丽", 5678905.93756f, "小丽你好", "小丽你好呀".getBytes(), new Date()));
    transaction.commit();

}

}

猜你喜欢

转载自blog.csdn.net/amazing_Code/article/details/82628155