DBFluteのGeneratorを参考にAndroidのSQLiteアクセス用のコードジェネレータを作ろうと思い調査。どうやら
org.seasar.dbflute.logic.jdbc.mapping.DfJdbcTypeMapperのgetColumnJdbcTypeで判断しているらしい。
/** * Get the JDBC type of the column. <br /> * The priority of mapping is as follows: * <pre> * 1. The specified type mapping by DB type name (typeMappingMap.dfprop) * 2. The fixed type mapping (PostgreSQL's OID and Oracle's Date and so on...) * 3. The standard type mapping by JDBC type if the type is not 'OTHER' (typeMappingMap.dfprop) * 4. The auto type mapping by DB type name * 5. String finally * </pre> * @param jdbcDefType The definition type of JDBC. * @param dbTypeName The name of DB data type. (NullAllowed: If null, the mapping using this is invalid) * @return The JDBC type of the column. (NotNull) */ public String getColumnJdbcType(int jdbcDefType, String dbTypeName) { final String jdbcType = doGetColumnJdbcType(jdbcDefType, dbTypeName); if (jdbcType == null) { // * * * * * * // Priority 5 // * * * * * * return getVarcharJdbcType(); } return jdbcType; }
SQLiteのTEXT型はPriority 5に該当し、JDBCのVARCHARとして扱われJavaではStringとなる模様。
TorqueDataModelTask.javaをカスタマイズして自作のTemplateを使うようにすれば良さそうな雰囲気。