知识大全 hibernate中自定义主键生成器[1]
Posted 知
篇首语:运气就是机会碰巧撞到了你的努力。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 hibernate中自定义主键生成器[1]相关的知识,希望对你有一定的参考价值。
Hibernate(目前使用的版本是 )中提供了多种生成主键的方式
然而当前的这么多种生成方式未必能满足我们的要求
比如increment 可以在一个hibernate实例的应用上很方便的时候 但是在集群的时候就不行了
再如 identity sequence native 是数据局提供的主键生成方式 往往也不是我们需要 而且在程序跨数据库方面也体现出不足
还有基于算法的生成方式生成出来的主键基本都是字符串的
我们现在需要一种生成方式 使用Long作为主键类型 自动增 支持集群
那么我们需要自定义一个我们的主键生成器才能实现了
实现代码:
package hibernate;
import java io Serializable; import java sql Connection; import java sql PreparedStatement; import java sql ResultSet; import java sql SQLException; import java util Properties;
import apache mons logging Log; import apache mons logging LogFactory; import hibernate HibernateException; import hibernate MappingException; import hibernate dialect Dialect; import hibernate engine SessionImplementor; import hibernate id Configurable; import hibernate id IdentifierGenerator; import hibernate id PersistentIdentifierGenerator; import hibernate type Type;
public class IncrementGenerator implements IdentifierGenerator Configurable private static final Log log = LogFactory getLog(IncrementGenerator class); private Long next; private String sql; public Serializable generate(SessionImplementor session Object object) throws HibernateException if (sql!=null) getNext( session connection() ); return next;
cha138/Article/program/Java/ky/201311/29169
相关参考