openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Sutter <kwsut...@gmail.com>
Subject Re: Timestamp precision question.
Date Tue, 19 Jun 2012 14:04:12 GMT
Thanks, Yu, for the clarification.

By default, OpenJPA uses Millisecond precision on the date fields (least
common denominator).  Some of the data dictionaries have been updated to
Microsecond (DB2, Postgres, etc) or even Nanosecond (Ingres).  It looks
like the Oracle dictionary is still using the default Millisecond
precision.  You can easily update this by modifying the Oracle dictionary
as follows:

<property name="openjpa.jdbc.DBDictionary" value="oracle(DatePrecision=1000)"/>

If this does the trick for you and you feel that the default precision for
the Oracle dictionary should be Microseconds, please file a JIRA [1].

Thanks, Kevin

[1]  http://openjpa.apache.org/found-a-bug.html

On Mon, Jun 18, 2012 at 11:24 PM, yu wang <wangyumi@gmail.com> wrote:

> Kevin
> Before the field is persisted, I use toString() method of Timestamp
> object to print the value of the field, its precision is microsecond.
> But when I read the Timestamp field from DB, its precision is millisecond.
>
> I need the precision of this Timestamp filed is microsecond. I am
> using ORacle DB and I can insert microsecond Timestamp filed into DB
> by SQL directly.
>
> Thanks,
> Yu Wang
>
> On Mon, Jun 18, 2012 at 9:43 PM, Kevin Sutter <kwsutter@gmail.com> wrote:
> > Hi Yu,
> > Can you clarify your request?    You said that your Timestamp fields are
> > persisted to the DB at a millisecond level.  But, I'm not following your
> > "print" comments and microsecond precision level.  After retrieved from
> the
> > DB, are the Timestamps still at a millisecond precision?  Or, are you
> > looking to store the Timestamp to the DB at a microsecond precision?
> > Various databases have different practices as it comes to Timestamp
> > precision.  If you could clarify what your expectations are, maybe
> > something can be figured out.  Thanks.
> >
> > Kevin
> >
> > On Mon, Jun 18, 2012 at 4:31 AM, yu wang <wangyumi@gmail.com> wrote:
> >
> >> Hello,
> >> I am using OpenJPA 1.2.2 connecting oracle DB.
> >> For Timestamp field, the precision is always millisecond level after
> >> the filed is persisted into DB, regardless of I print the timestampe
> >> filed in java, its precision is microsecond level.
> >> Any specific configuration I am not aware of?
> >>
> >> Below is a sample:
> >>        @Basic()
> >>        @Column(name="LOGTIME")
> >>        public java.sql.Timestamp getLogtime() {
> >>                return this.logtime;
> >>        }
> >>        @Override
> >>        public void setLogtime(java.sql.Timestamp logtime) {
> >>                this.logtime = logtime;
> >>        }
> >>
> >> Regards,
> >> Yu Wang
> >>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message