@Override public Object resultToSqlArg(FieldType fieldType, DatabaseResults results, int columnPos) throws SQLException { return results.getTimestamp(columnPos); }
@Override public Object resultToSqlArg(FieldType fieldType, DatabaseResults results, int columnPos) throws SQLException { return results.getTimestamp(columnPos); }
public class MyDatePersister extends com.j256.ormlite.field.types.BaseDataType { private static final MyDatePersister singleTon = new MyDatePersister(); @SuppressWarnings("deprecation") private static final Timestamp ZERO_TIMESTAMP = new Timestamp(0, 0, 0, 0, 0, 0, 0); private MyDatePersister() { super(SqlType.DATE, new Class<?>[] { Date.class }); } public static MyDatePersister getSingleton() { return singleTon; } @Override public Object resultToSqlArg(FieldType fieldType, DatabaseResults results, int columnPos) throws SQLException { Timestamp timestamp = results.getTimestamp(columnPos); if (timestamp == null || ZERO_TIMESTAMP.equals(timestamp)) { return null; } else { return timestamp; } } }
@Override public Object resultToSqlArg(FieldType fieldType, DatabaseResults results, int columnPos) throws SQLException { Timestamp timestamp = results.getTimestamp(columnPos); if (timestamp == null || ZERO_TIMESTAMP.after(timestamp)) { return null; } else { return timestamp.getTime(); } }
@Test public void testSerializableNull() throws Exception { Field[] fields = SerializableField.class.getDeclaredFields(); assertTrue(fields.length >= 1); Field field = fields[0]; FieldType fieldType = FieldType.createFieldType(databaseType, SerializableField.class.getSimpleName(), field, SerializableField.class); DatabaseResults results = createMock(DatabaseResults.class); int fieldNum = 1; expect(results.findColumn(field.getName())).andReturn(fieldNum); expect(results.getTimestamp(fieldNum)).andReturn(null); expect(results.wasNull(fieldNum)).andReturn(true); replay(results); assertNull(fieldType.resultToJava(results, new HashMap<String, Integer>())); verify(results); }