Example 2.19. Example properties for Sybase
openjpa.ConnectionDriverName: com.sybase.jdbc2.jdbc.SybDriver openjpa.ConnectionURL: \ jdbc:sybase:Tds:SERVER_NAME:4100/DB_NAME?ServiceName=DB_NAME&BE_AS_JDBC_COMPLIANT_AS_POSSIBLE=true
The "DYNAMIC_PREPARE
" parameter of the Sybase JDBC driver
cannot be used with OpenJPA.
Datastore locking cannot be used when manipulating many-to-many relations using the default OpenJPA schema created by the schematool, unless an auto-increment primary key field is manually added to the table.
Persisting a zero-length string results in a string with a single space characted being returned from Sybase, Inc.'s JDBC driver.
The BE_AS_JDBC_COMPLIANT_AS_POSSIBLE
is required in order to
use datastore (pessimistic) locking. Failure to set this property may lead to
obscure errors like " FOR UPDATE can not be used in a SELECT which is
not part of the declaration of a cursor or which is not inside a stored
procedure.
".
Applications performing update/insert data of the BigDecimal java type may fail
with OptimisticException if the data exceeds the scale or precision of the
column on Sybase. To avoid this problem, applications can specify the precision
and scale for the numeric type by setting numericTypeName='NUMERIC(p,s)' for
the column type mapped by the BigDecimal java type. See
openjpa.jdbc.DBDictionary for
more detail. Alternatively, application can set the precision and scale using
the standard Column
annotation, described in
Section 3, “
Column
”.