Child pages
  • Use of HiLoGenerator with sql-util DAO classes
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Add table ID_GENERATOR to TableDefinitions

TableInfo idGenerator=new TableInfo("ID_GENERATOR");
idGenerator.setColumns(Arrays.asList(
               new ColumnInfo("NEXT_ID",Types.BIGINT,20,null,false,null)
));

Instantiate an idGenerator bean

<bp:bean id="idGenerator" class="org.clazzes.util.sql.dao.HiLoIdGenerator"
         init-method="initialize" depends-on="databaseSetup">
  <bp:property name="dataSource" ref="dataSource"/>

databaseSetup is the bean representing the JDBC2XML SchemaManager (see this HowTo), depends-on assures, that the ID generator is started after the database tables are set up.

Variant: idGenerator bean using application specific table and column names:

<bp:bean id="idGenerator" class="org.clazzes.util.sql.dao.HiLoIdGenerator"
         init-method="initialize" depends-on="databaseSetup">
  <bp:property name="dataSource" ref="dataSource"/>
  <!-- idTableName, default: ID_GENERATOR -->
  <bp:property name="idTableName" value="MYAPP_ID_GENERATOR"/>
  <!-- nextIdColumnName, default: NEXT_ID -->
 <bp:property name="nextIdColumnName" value="NEXT_ID"/>

Set the IdGenerator in your DAOs

<bp:bean id="userDAO" class="at.egv.drust.impl.dao.jdbc.DsUserJdbcDAO">
  <bp:property name="idGenerator" ref="idGenerator"/>
  <bp:property name="generator" ref="sqlGenerator"/>
  <bp:property name="threadLocalKey" ref="jdbcUrl"/>
  • No labels