`
chenjingbo
  • 浏览: 457092 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

hibernate对enum的持久化(使用annotation)

阅读更多
项目中用到了enum作为持久化对象的某个属性类型.我为了方便,就直接在数据库字段设置成varchar类型.数据库是mysql.但是在持久化的时候,hibernate会转换成int类型再存.我是想直接存.比如
public enum BatchJobState {
	NOT_START, // 未開始
	RUNNING, // 運行
	FINISHED, // 結束
	FAILED	// 失敗
}

我是想直接存 NOT_START ,这类的,但是hibernate就自动转成 1 , 2 ,3 .之类的.
网上查了些方法.无非是两种,一种是自己写UserType.这种方法很麻烦.不说了,我用的方法是第二种,使用annotation .具体的方法是
	@Enumerated(EnumType.STRING)
	private BatchJobState state;// 任务的执行状态

这么一句.搞定.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics