Прежде чем ответить, я пусть другие знают, что OP фактически используется POJO, для представления объектов базы данных, один из его POJO содержит поле даты типа. И он хочет, чтобы дата была в формате оракула, но она остается объектом Date. (Из комментария OP в here)
Вам просто нужно расширить Date
класс и переопределить public String toString();
public class MyDate extends Date
{
@Override
public String toString()
{
DateFormat df = new SimpleDateFormat("dd/MMM/yyyy");
String formattedDate = df.format(this);
return formattedDate;
}
}
И затем, в вашем POJO, где вы инициализации Дата объект:
Date databaseDate=new MyDate();
// initialize date to required value.
Теперь databaseDate это объект Date, но он предоставит вам необходимый формат, в котором он нуждается.
EDIT: База данных не имеет ничего общего с типами данных языка программирования. Когда POJO вставляются в базу данных, все их значения преобразуются в строки. И как объект преобразуется в строку, определяется в методе toString этого класса.
Посмотрите на ['java.text.SimpleDateFormat'] (http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html). – vstm
Месяц: если число букв шаблона равно 3 или более, месяц интерпретируется как текст; в противном случае оно интерпретируется как число. Поэтому я не думаю, что '05/APR/2012' будет датой, это будет только строка – FosterZ
05/APR/2012 всегда является строковым представлением вашей' Date() ', поэтому используйте соответствующий 'DateFormat' – powerMicha