/**
  * シーケンスのデータ型を返します。
  *
  * @param propertyMeta プロパティメタデータ
  * @return シーケンスのデータ型
  */
 protected String getDataType(PropertyMeta propertyMeta) {
   ValueType valueType = valueTypeProvider.provide(propertyMeta);
   int sqlType = valueType.getSqlType();
   Column column = getColumn(propertyMeta);
   return dialect
       .getSqlType(sqlType)
       .getDataType(column.length(), column.precision(), column.scale(), false);
 }
 protected void bindArgs(PreparedStatement ps, Object[] args, ValueType[] valueTypes) {
   if (args == null) {
     return;
   }
   for (int i = 0; i < args.length; ++i) {
     ValueType valueType = valueTypes[i];
     try {
       valueType.bindValue(ps, i + 1, args[i]);
     } catch (SQLException e) {
       handleSQLException(e, ps);
     }
   }
 }
 public SqlType getSqlType(ValueTypeProvider valueTypeProvider, PropertyMeta propertyMeta) {
   ValueType valueType = valueTypeProvider.provide(propertyMeta);
   return getSqlTypeInternal(valueType.getSqlType());
 }