Hi Mick,

Did you maybe map a CHAR in your Cayenne DbEntity to a VARCHAR column or
vice-versa?  I could see this causing a problem.

We use views just fine with Cayenne and have both CHAR and VARCHAR mappings
(to the appropriate DB types) in Cayenne 3.0.  You didn't mention which
version of Cayenne you are using, so I'm guessing 3.0 currently.

mrg



On Wed, Jun 19, 2013 at 9:11 PM, Mick Fong <[email protected]> wrote:

> Hi Michael,
>
> The type is definitely a varchar in the view.
>
> The error is when the you are setting the query object for the
> PreparedStatement. It appears that the
> org.apache.cayenne.access.types.CharType is not being recognised as a MySQL
> varchar type.
>
> The exception is thrown from a switch on the parameter SQL type:
>
> switch (targetSqlType) {
>   .
>   .
>   case Types.CHAR:
>   case Types.VARCHAR:
>   case Types.LONGVARCHAR:
>     if (parameterObj instanceof BigDecimal) {
>
> setString(parameterIndex,(StringUtils.fixDecimalExponent(StringUtils.consistentToString((BigDecimal)
> parameterObj))));
>     } else {
>       setString(parameterIndex, parameterObj.toString());
>     }
>
>   break;
>   .
>   .
>   default:
>     throw
> SQLError.createSQLException(Messages.getString("PreparedStatement.16"),
> //$NON-NLS-1$
>       SQLError.SQL_STATE_GENERAL_ERROR, getExceptionInterceptor());
> }
>
>
> The property value for the message is:
> PreparedStatement.16=Unknown Types value
>
>
> The error occurs just when setting the parameters because the CharType is
> not recognised.
>
> thanks
>
> mick
>
> [Kimberley Training Institute Logo]
> Toll Free: 1300 996 573 | Website: www.kti.wa.edu.au<
> http://www.kti.wa.edu.au>
> Find us on Facebook<http://www.facebook.com/kimberleytraininginstitute>
>
> Please consider the environment before printing this email.
>

Reply via email to