diff --git a/querydsl-sql/src/main/java/com/mysema/query/sql/JDBCTypeMapping.java b/querydsl-sql/src/main/java/com/mysema/query/sql/JDBCTypeMapping.java index 59d40abfb..f8a517754 100644 --- a/querydsl-sql/src/main/java/com/mysema/query/sql/JDBCTypeMapping.java +++ b/querydsl-sql/src/main/java/com/mysema/query/sql/JDBCTypeMapping.java @@ -115,8 +115,8 @@ public final class JDBCTypeMapping { Pair key = Pair.of(size, digits); if (numericTypes.containsKey(key)) { return numericTypes.get(key); - } else if (digits == 0) { - if (size > 18) { + } else if (digits <= 0) { + if (size > 18 || size == 0) { return Long.class; } else if (size > 5) { return Integer.class; diff --git a/querydsl-sql/src/test/java/com/mysema/query/sql/JDBCTypeMappingTest.java b/querydsl-sql/src/test/java/com/mysema/query/sql/JDBCTypeMappingTest.java index 5c71c7059..84a948f76 100644 --- a/querydsl-sql/src/test/java/com/mysema/query/sql/JDBCTypeMappingTest.java +++ b/querydsl-sql/src/test/java/com/mysema/query/sql/JDBCTypeMappingTest.java @@ -75,7 +75,7 @@ public class JDBCTypeMappingTest { assertEquals(typeMapping.get(Types.NUMERIC, 3, 0), Short.class); assertEquals(typeMapping.get(Types.NUMERIC, 2, 0), Byte.class); assertEquals(typeMapping.get(Types.NUMERIC, 1, 0), Boolean.class); - assertEquals(typeMapping.get(Types.NUMERIC, 0, 0), Boolean.class); + assertEquals(typeMapping.get(Types.NUMERIC, 0, 0), Long.class); assertEquals(typeMapping.get(Types.NUMERIC, 17, 2), BigDecimal.class); assertEquals(typeMapping.get(Types.NUMERIC, 5, 2), Double.class);