您现在的位置是:首页 >

hibernate一对多注解配置 hibernate中自定义主键生成器[1]

火烧 2022-10-22 16:55:02 1074
hi er ate中自定义主键生成器[1]   Hi er ate(目前使用的版本是 )中提供了多种生成主键的方式   然而当前的这么多种生成方式未必能满足我们的要求  比如i creme t 可以在

hibernate中自定义主键生成器[1]  

  Hibernate(目前使用的版本是 )中提供了多种生成主键的方式

  然而当前的这么多种生成方式未必能满足我们的要求

  比如increment 可以在一个hibernate实例的应用上很方便的时候 但是在集群的时候就不行了

  再如 identity sequence native 是数据局提供的主键生成方式 往往也不是我们需要 而且在程序跨数据库方面也体现出不足

hibernate一对多注解配置 hibernate中自定义主键生成器[1]

  还有基于算法的生成方式生成出来的主键基本都是字符串的

  我们现在需要一种生成方式 使用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  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码