Я впервые использую Eclipse и JDO. У меня проблема при использовании инструмента схемы в Eclipse для генерации DDL.
Одно из полей в классе Java выглядит следующим образом:
@Persistent
@Column(name = "Enabled", jdbcType = "BOOLEAN")
private boolean enabled = true;
Я успешно улучшил класс с помощью Enhancer Tool, но когда я запустил инструмент Schema (с derbyclient.jar в качестве драйвера JDBC), было зарегистрировано следующее сообщение об ошибке:
18: 47: 26,164 (основной) ОШИБКА [DataNucleus.SchemaTool] - исключение было
выбрасывается при эксплуатации SchemaTool. Пожалуйста, обратитесь к журналу для
Полная информация. Может помочь следующее: тип JDBC BOOLEAN, объявленный для
поле "org.company.core.User.enabled" типа java.lang.Boolean
нельзя сопоставить для этого хранилища данных. JDBC тип BOOLEAN объявлен для
поле "org.company.core.User.enabled" типа java.lang.Boolean
нельзя сопоставить для этого хранилища данных.
org.datanucleus.exceptions.NucleusException: тип JDBC BOOLEAN
объявлено для поля "org.company.core.User.enabled" типа Java
java.lang.Boolean нельзя сопоставить для этого хранилища данных. в
org.datanucleus.store.rdbms.mapping.RDBMSMappingManager.getDatastoreMappingClass (RDBMSMappingManager.java:329)
в
org.datanucleus.store.rdbms.mapping.RDBMSMappingManager.createDatastoreMapping (RDBMSMappingManager.java:533)
в
org.datanucleus.store.mapped.mapping.SingleFieldMapping.prepareDatastoreMapping (SingleFieldMapping.java:55)
в
org.datanucleus.store.mapped.mapping.SingleFieldMapping.initialize (SingleFieldMapping.java:44)
в
org.datanucleus.store.mapped.mapping.MappingFactory.createMapping (MappingFactory.java:97)
в
org.datanucleus.store.mapped.mapping.AbstractMappingManager.getMapping (AbstractMappingManager.java:255)
в
org.datanucleus.store.rdbms.table.ClassTable.manageMembers (ClassTable.java:571)
в
org.datanucleus.store.rdbms.table.ClassTable.manageClass (ClassTable.java:451)
в
org.datanucleus.store.rdbms.table.ClassTable.initializeForClass (ClassTable.java:1111)
в
org.datanucleus.store.rdbms.table.ClassTable.initialize (ClassTable.java:268)
в
org.datanucleus.store.rdbms.RDBMSStoreManager $ ClassAdder.initializeClassTables (RDBMSStoreManager.java:2439)
в
org.datanucleus.store.rdbms.RDBMSStoreManager $ ClassAdder.addClassTablesAndValidate (RDBMSStoreManager.java:2346)
в
org.datanucleus.store.rdbms.RDBMSStoreManager $ ClassAdder.run (RDBMSStoreManager.java:1996)
в
org.datanucleus.store.rdbms.AbstractSchemaTransaction.execute (AbstractSchemaTransaction.java:113)
в
org.datanucleus.store.rdbms.RDBMSStoreManager.createSchema (RDBMSStoreManager.java:3114)
в
org.datanucleus.store.schema.SchemaTool.createSchema (SchemaTool.java:443)
в org.datanucleus.store.schema.SchemaTool.main (SchemaTool.java:378)
Я проверил руководство Apache Derby, база данных поддерживает тип данных BOOLEAN:
http://db.apache.org/derby/docs/10.8/ref/rrefsqljBoolean.html
В чем причина ошибки?
Заранее спасибо.