`
dellsoft
  • 浏览: 110653 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

hibernate custom generator

阅读更多
public class CustomIdSequenceGenerator extends org.hibernate.id.SequenceGenerator{
  
    private DecimalFormat format;
    public void configure(Type type, Properties params, Dialect dialect) {
        super.configure( type,  params,  dialect);
     
        String formatPattern = params.getProperty("format");
        if(formatPattern!=null)
            format=new DecimalFormat(formatPattern);
    }
    public synchronized Serializable generate(SessionImplementor session, Object object)
		throws HibernateException {
        Serializable generated = super.generate(session, object);
        String v=null;
        if(generated instanceof String)
            generated=Long.parseLong((String)generated);
        if(generated instanceof Number){
            if(format!=null)
                v=format.format(generated);
            else
                v=String.valueOf(generated);
        }else
            v=(String) generated;
      
        return v;
	}

}
自定义 TableGenerator

 

public class CustomIdTableGenerator extends org.hibernate.id.TableGenerator{
  
    private DecimalFormat format;
    public void configure(Type type, Properties params, Dialect dialect) {
        super.configure( type,  params,  dialect);
     
        String formatPattern = params.getProperty("format");
        if(formatPattern!=null)
            format=new DecimalFormat(formatPattern);
    }
    public synchronized Serializable generate(SessionImplementor session, Object object)
		throws HibernateException {
        Serializable generated = super.generate(session, object);
        String v=null;
        if(generated instanceof String)
            generated=Long.parseLong((String)generated);
        if(generated instanceof Number){
            if(format!=null)
                v=format.format(generated);
            else
                v=String.valueOf(generated);
        }else
            v=(String) generated;
      
        return v;
	}

}
hibernate xml
  parameters = {
            @Parameter(name = "format", value = "CK0000000")
        }

  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics