Kevin, It does work. Thanks! By the way, what does "DatePrecision=1000" mean? Why 1000?
Regards, Yu Wang On Tue, Jun 19, 2012 at 10:04 PM, Kevin Sutter <[email protected]> wrote: > 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 >> >> >>
