首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

在 Hibernate 中基于 Annotation 主键生成谋略

2012-06-26 
在 Hibernate 中基于 Annotation 主键生成策略首先show一个例子:public class AssignedSequenceGenerator

在 Hibernate 中基于 Annotation 主键生成策略
首先show一个例子:

public class AssignedSequenceGenerator extends SequenceGenerator implements PersistentIdentifierGenerator, Configurable { private String entityName;   public void configure(Type type, Properties params, Dialect dialect) throws MappingException {   entityName = params.getProperty(ENTITY_NAME);   if (entityName==null) {    throw new MappingException("no entity name");   }     super.configure(type, params, dialect);  } public Serializable generate(SessionImplementor session, Object obj)   throws HibernateException {     Serializable id = session.getEntityPersister( entityName, obj )     .getIdentifier( obj, session.getEntityMode() );     if (id==null) {    id = super.generate(session, obj);   }     return id; } }
实际应用中,定义同sequence。

@GeneratedValue(generator = "paymentableGenerator")  
@GenericGenerator(name = "paymentableGenerator", strategy= "AssignedSequenceGenerator",   
   parameters = { @Parameter(name = "sequence", value= "seq_payablemoney") })

热点排行