Fecha de serialización en Java

Estoy pasando algunos objetos a través del servicio web y algunos de ellos contienen java.sql.Date. Como Date no tiene un constructor vacío, no quiere ser serializado.

La primera parte de una pregunta es fácil: ¿cuál es la mejor manera de pasar una fecha entre el cliente y el servicio?

La segunda parte es un poco más complicada: una vez que decido cómo pasar las fechas, obviamente puedo declarar la fecha transitoria y hacer que alguna clase de envoltorio pase las fechas como String o lo que sea, pero cómo aplicar la misma solución de la manera más transparente posible a varias clases que incluyen Date ?

(Tengo el presentimiento de que DynamicProxy thingy podría ser una solución, pero leer la documentación en el sitio de Sun no fue muy útil, por lo que si realmente es algo en esa dirección, se agradecería alguna aclaración)

Edit: hice una pregunta incorrecta, lo siento (algunos malentendidos entre mi compañero y yo, lo que en realidad es un problema). El problema se produce debido a la deserialización. Así que una vez que tengo fecha en formato XML, intenta deserializarse como GregorianCalendar. Aún queda otra parte de la pregunta: ¿Cuál es la mejor manera de recibir algo (marca de tiempo larga o calendario gregoriano) y convertirlo a fecha de SQL, sin hacer 10 envoltorios diferentes para 10 clases diferentes. Estoy usando un NetBeans para la generación de código y wsdl.

Respuestas a la pregunta(12)

Su respuesta a la pregunta