/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.util.db; import java.sql.Driver; import org.hibernate.dialect.DerbyDialect; import org.hibernate.dialect.Dialect; import com.opengamma.elsql.ElSqlConfig; /** * Database dialect for Derby databases. * <p> * This contains any Derby specific SQL and is tested for version 10.6. * Sequences were added in 10.6. Offset/Fetch were added in 10.5. */ public class DerbyDbDialect extends DbDialect { /** * Helper can be treated as a singleton. */ public static final DerbyDbDialect INSTANCE = new DerbyDbDialect(); /** * Restrictive constructor. */ public DerbyDbDialect() { } //------------------------------------------------------------------------- @Override public Class<? extends Driver> getJDBCDriverClass() { return org.apache.derby.jdbc.EmbeddedDriver.class; } @Override protected Dialect createHibernateDialect() { return new DerbyDialect(); } @Override protected ElSqlConfig createElSqlConfig() { return ElSqlConfig.DEFAULT; // not tested for Derby } //------------------------------------------------------------------------- @Override public String sqlNextSequenceValueSelect(final String sequenceName) { return "SELECT NEXT VALUE FOR " + sequenceName + " FROM sysibm.sysdummy1"; } }