Gender枚举类:
public enum Gender { male, female; }
Person类:
public class Person { private Long id; private String name; private Gender gender; //省略get,set方法 }
person.hbm.xml;
<hibernate-mapping package="objectn.exus.s7_enum"> <class name="Person"> <id name="id"> <generator class="native" /> </id> <property name="name" />
<property name="gender"> <!-- name: 设置处理的类型 --> <type name="org.hibernate.type.EnumType"> <!-- 设置要处理的类的全限定名称 --> <param name="enumClass">objectn.exus.s7_enum.Gender</param> <param name="useNamed">true</param> </type> </property>
</class> </hibernate-mapping>
保存person对象;
public void testSave() { Person per=new Person("张三"); per.setGender(Gender.male); Session session = HibernateUtils.getSession(); Transaction transaction = session.beginTransaction(); session.save(per); transaction.commit(); session.close(); }
SQL语句;
Hibernate: create table Person (id bigint not null auto_increment, name varchar(255), gender varchar(255), primary key (id)) Hibernate: insert into Person (name, gender) values (?, ?)
生成表结构;