java.sql.Timestamp extends java.util.Date, so it is ok.

(and in any event doublecheck that the column in a table for the Bar entity is mapped as TIMESTAMP).

Andrus

On Jan 28, 2009, at 5:34 PM, Alessio Giovanni Baroni wrote:

But if I have SQLTemplate(Bar.class, .....), and in class Bar I set the
field Foo as Date, isn't an error cast it to java.lang.Timestamp??

Thanks.


2009/1/28 Andrus Adamchik <and...@objectstyle.org>

My (admittedly novice) solution was to map it via Modeler to a TIMESTAMP.



This is actually a correct solution. Only if I am not mistaken it doesn't work 100% on 2.0.x (IIRC it works for SelectQuery, but not SQLTemplate). In
3.0 it should work with SQLTemplate as well.

Andrus



On Jan 28, 2009, at 5:12 PM, Joe Baldwin wrote:

Andrus,

I looked up the Oracle Date definition and it does in fact keep time info in the database. My (admittedly novice) solution was to map it via Modeler to a TIMESTAMP. Does this reveal the same problem with the Oracle adapter
as mapping it via Modeler-DATE?

Joe


On Jan 28, 2009, at 9:58 AM, Andrus Adamchik wrote:

I guess that's how Oracle driver returns the metadata for the DATE column
in the ResultSet. The workaround is to use #result() directive in the SQL:

http://cayenne.apache.org/doc20/scripting-sqltemplate.html

Hope this helps,

Andrus

On Jan 28, 2009, at 4:48 PM, Alessio Giovanni Baroni wrote:

Hi to all,
I have the following code:

.............
query = new SQLTemplate("SELECT FOO FROM BAR");
results = ctxt.performQuery(Bar.class, query);
for(int i = 0; i < results.size() - 1; ++i)
{
   Bar f = (Bar)results.get(i);
   ...... (f.getFoo());
   ....................
}

In the Oracle DB the field FOO is a DATE and I map it to java.util.Date.
When I do .getFoo(), the date that I have is without the
hours/minutes/seconds.
Why? How do I resolve it?

Thanks.







Reply via email to