hibernate中使用enum类型

1.在pojo 实体类中定义了一个Customer 类和一个枚举子类Partner.

class Customer{
  private int id;
  private  Partner type;
       ...
}

class enum Partner{
  PROVIDER,CUSTOMER;   
}

在写入数据库的时候,可以选择写入int 类型或者string 类型.这个取决于配置.下面的配置是写入字符串到数据库中

import javax.persistence.EnumType;
import javax.persistence.Enumerated;

class Customer{
  private int id;
  @Enumerated(EnumType.STRING)
  private  Partner type;
       ...
}

还需要在Customer.hbm.xmll中配置.(网上有些文章说只需要注解就可以了,但是我测试了发现不行,用的是hibernate 4.3.9版本.)


 <property name="CType"  column="c_type">
    <type name="org.hibernate.type.EnumType">
        <param name="enumClass">com.company.pojo.Partner</param>
        <param name="useNamed">true</param>
    </type>
  </property>

参考文章:http://www.codejava.net/frameworks/hibernate/hibernate-enum-type-mapping-example

posted @ 2015-08-31 17:14  predisw  阅读(561)  评论(0编辑  收藏  举报