- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.7.2
* Operating System version: OSX
* Java version: 1.8

### Steps to reproduce this issue

```java
@Test
public void testSerializeSqlDate() throws IOException, ClassNotFoundException {
    java.sql.Date originTime = new java.sql.Date(System.currentTimeMillis());
    this.protostuffObjectOutput.writeObject(originTime);
    this.flushToInput();

    java.sql.Date serializedTime = protostuffObjectInput.readObject(java.sql.Date.class);
    assertThat(serializedTime, is(originTime));
}
```
### Expected Result

What do you expected from the above steps？

### Actual Result

```shell
Expected: is <2019-06-25>
   but: was <1970-01-01>
Expected :is <2019-06-25>
  Actual   :<1970-01-01>
```

If there is an exception, please attach the exception trace:

```
```

private static final Set<Class<?>> WRAPPER_SET = new HashSet<>();
    static {
        if (RuntimeEnv.ID_STRATEGY instanceof DefaultIdStrategy) {
            ((DefaultIdStrategy) RuntimeEnv.ID_STRATEGY).registerDelegate(new TimeDelegate());
            ((DefaultIdStrategy) RuntimeEnv.ID_STRATEGY).registerDelegate(new TimestampDelegate());
        }
        WRAPPER_SET.add(Map.class);
        WRAPPER_SET.add(HashMap.class);
        WRAPPER_SET.add(TreeMap.class);
        WRAPPER_SET.add(Hashtable.class);
        WRAPPER_SET.add(SortedMap.class);
        WRAPPER_SET.add(LinkedHashMap.class);
        WRAPPER_SET.add(ConcurrentHashMap.class);
        WRAPPER_SET.add(List.class);
        WRAPPER_SET.add(ArrayList.class);
        WRAPPER_SET.add(LinkedList.class);
        WRAPPER_SET.add(Vector.class);
        WRAPPER_SET.add(Set.class);
        WRAPPER_SET.add(HashSet.class);
        WRAPPER_SET.add(TreeSet.class);