hibernate一对多注解配置 hibernate中自定义主键生成器[1]
hibernate中自定义主键生成器[1]
Hibernate(目前使用的版本是 )中提供了多种生成主键的方式
然而当前的这么多种生成方式未必能满足我们的要求
比如increment 可以在一个hibernate实例的应用上很方便的时候 但是在集群的时候就不行了
再如 identity sequence native 是数据局提供的主键生成方式 往往也不是我们需要 而且在程序跨数据库方面也体现出不足
![hibernate一对多注解配置 hibernate中自定义主键生成器[1]](http://img.zhputi.com/uploads/ce3a/ce3a78d12ad2ce06b6af81c7c33c928439350.jpg)
还有基于算法的生成方式生成出来的主键基本都是字符串的
我们现在需要一种生成方式 使用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;
}
lishixinzhi/Article/program/Java/ky/201311/29169相关文章
- 映射f与它的逆映射复合的结果 Hibernate中配置复合主键映射
- 分页查询怎么实现 如何用 Hibernate 实现分页查询
- hibernate的使用 如何提高hibernate性能
- hibernate自增主键 hibernate中自定义主键生成器
- 标识符由什么组成 精通Hibernate:映射对象标识符
- 批量处理单元格 Hibernate的批量处理[1]
- hibernate多对多 在JSE环境使用Hibernate EntityManger
- java生成主键 Hibernate主键生成方式 Key Generator
- 讲解的 详细讲解Hibernate应用程序
- mui框架简介 关于Hibernate框架的简介
爱学记

微信收款码
支付宝收款码