The data type TIME only has day accuracy for Oracle. This is due to the underlying village library and the fact that oracle does not support a SQL type TIME. If you are using Oracle 9i and later, you can use the type TIMESTAMP instead which gives you millisecond accuracy.
Oracle does not distinguish between empty strings and null strings.
If an empty string is inserted into a table, it will be treated as null.
If you want to re-read this column by selecting records which contain
an empty string, oracle will return no columns. The only way to select
the column is to query for records which contain null in that column.
This behaviour is different in most other databases. So if you
want to write code which works for other databases and oracle, you need
to consider both cases - the column might be null and it might contain
an empty string. For example:
Criteria.Criterion c1 = criteria.getNewCriterion(COLUMN, "", Criteria.EQUAL); Criteria.Criterion c2 = criteria.getNewCriterion(COLUMN, (Object)null, Criteria.ISNULL); criteria.add(c1.or(c2));