Как и где я могу открыть уроки в модуле DB4O?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как и где я могу открыть уроки в модуле DB4O?

Сообщение Anonymous »

Мне нужно выполнить простое занятие с DB4O, если мне нужно добавить и выбрать строки. Когда я пытаюсь выбрать строки, я получаю эту ошибку: < /p>
Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make field private int classes.Professor.id accessible: module recuperacio does not "opens classes" to module db4o
at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:388)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:364)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:312)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:183)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:177)
at [email protected]/com.db4o.internal.JDK_1_2.setAccessible(JDK_1_2.java:122)
at [email protected]/com.db4o.internal.Platform4.setAccessible(Platform4.java:526)
at [email protected]/com.db4o.reflect.jdk.JdkField.setAccessible(JdkField.java:48)
at [email protected]/com.db4o.reflect.jdk.JdkField.(JdkField.java:24)
at [email protected]/com.db4o.reflect.jdk.JdkClass.createField(JdkClass.java:71)
at [email protected]/com.db4o.reflect.jdk.JdkClass.getDeclaredFields(JdkClass.java:79)
at [email protected]/com.db4o.reflect.generic.GenericClass.getDeclaredFields(GenericClass.java:106)
at [email protected]/com.db4o.internal.ClassMetadata.reflectFields(ClassMetadata.java:1824)
at [email protected]/com.db4o.internal.ClassMetadata.collectReflectFields(ClassMetadata.java:394)
at [email protected]/com.db4o.internal.ClassMetadata.initializeAspects(ClassMetadata.java:240)
at [email protected]/com.db4o.internal.PendingClassInits.initializeAspects(PendingClassInits.java:56)
at [email protected]/com.db4o.internal.PendingClassInits.checkStatics(PendingClassInits.java:62)
at [email protected]/com.db4o.internal.PendingClassInits.checkWrites(PendingClassInits.java:72)
at [email protected]/com.db4o.internal.PendingClassInits.checkInits(PendingClassInits.java:83)
at [email protected]/com.db4o.internal.PendingClassInits.process(PendingClassInits.java:45)
at [email protected]/com.db4o.internal.ClassMetadataRepository.produceClassMetadata(ClassMetadataRepository.java:233)
at [email protected]/com.db4o.internal.ObjectContainerBase.produceClassMetadata(ObjectContainerBase.java:1019)
at [email protected]/com.db4o.internal.ObjectAnalyzer.detectClassMetadata(ObjectAnalyzer.java:58)
at [email protected]/com.db4o.internal.ObjectAnalyzer.analyze(ObjectAnalyzer.java:40)
at [email protected]/com.db4o.internal.ObjectContainerBase.store2(ObjectContainerBase.java:1675)
at [email protected]/com.db4o.internal.ObjectContainerBase.storeAfterReplication(ObjectContainerBase.java:1618)
at [email protected]/com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1604)
at [email protected]/com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1602)
at [email protected]/com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:427)
at [email protected]/com.db4o.internal.ObjectContainerBase.asTopLevelStore(ObjectContainerBase.java:413)
at [email protected]/com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1602)
at [email protected]/com.db4o.internal.ObjectContainerBase.store(ObjectContainerBase.java:1584)
at [email protected]/com.db4o.internal.ExternalObjectContainer.store(ExternalObjectContainer.java:129)
at [email protected]/com.db4o.internal.ExternalObjectContainer.store(ExternalObjectContainer.java:124)
at recuperacio/db.newdb4o.prova(newdb4o.java:26)
at recuperacio/main.main2.main(main2.java:12)
< /code>
Я могу понять, что я должен активировать опцию «Открытые классы», но я не могу найти никакой информации о том, как и должны были это сделать. Это важная часть проекта: < /p>
package db;

import java.io.File;

import com.db4o.Db4o;
import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.config.EmbeddedConfiguration;

import classes.Professor;

public class newdb4o {
private ObjectContainer db;

public newdb4o() {
super();
String DB4OFILENAME ="taula.db4o" ;
new File(DB4OFILENAME).delete();
EmbeddedConfiguration config = Db4oEmbedded.newConfiguration();
ObjectContainer db = Db4oEmbedded.openFile(config,DB4OFILENAME);
this.db = db;
}

public void prova() {
Professor testteacher1 = new Professor(1, "test1", 5);
db.store(testteacher1);
}

public void test2() {
Professor testteacher1 = new Professor(1, null, 0);
ObjectSet result =db.queryByExample(testteacher1);
System.out.print(result);
}
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... b4o-module
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»