Я пытаюсь использовать ActiveJDBC с БД, драйвер которой не поддерживает метод Connection.prepareStatement(String, String[])
. Я получаю следующее исключение при попытке вставить:
org.javalite.activejdbc.DBException: java.sql.SQLFeatureNotSupportedException: [DataDirect][OpenEdge JDBC Driver]Unsupported method: Connection.prepareStatement(String, String[]), query: INSERT INTO ...
at com.ddtek.jdbc.openedgebase.ddb9.b(Unknown Source)
at com.ddtek.jdbc.openedgebase.ddb9.a(Unknown Source)
at com.ddtek.jdbc.openedgebase.ddb8.b(Unknown Source)
at com.ddtek.jdbc.openedgebase.ddb8.a(Unknown Source)
at com.ddtek.jdbc.openedgebase.BaseConnection.prepareStatement(Unknown Source)
at org.javalite.activejdbc.DB.execInsert(DB.java:597)
at org.javalite.activejdbc.Model.insert(Model.java:2618)
at org.javalite.activejdbc.Model.save(Model.java:2552)
at org.javalite.activejdbc.Model.saveIt(Model.java:2477)
...
Поддерживаются некоторые другие формы prepareStatement, например. prepareStatement (String)
, prepareStatement (String, int)
и т. д.
Могу ли я что-нибудь сделать, чтобы убедить ActiveJDBC не использовать неподдерживаемый оператор?
String[]
предназначен для автоматически сгенерированных ключей. Вам нужны автоматически сгенерированные ключевые значения? - person lance-java   schedule 01.12.2015m = new Model();
, заполняю его, затемm.saveIt();
, в модели нет автоматически сгенерированных столбцов. ActiveJDBC вызывает методprepareStatement
внутри здесь - person gimoh   schedule 01.12.2015com.ddtek.jdbc.openedge.OpenEdgeDriver
, это устаревшая БД, с которой мне приходится взаимодействовать. - person gimoh   schedule 02.12.2015