尝试在 OrientDB 2.2.12 上创建抽象顶点类型我获得以下异常。该代码适用于 OrientDB 2.2.0
Exception in thread "main" com.orientechnologies.orient.core.exception.OSecurityException: Class 'MyVertexType' cannot be truncated because has record level security enabled (extends 'ORestricted')
DB name="mydb"
DB name="mydb"
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.throwSerializedException(OChannelBinaryAsynchClient.java:437)
at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:388)
at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:270)
at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:162)
at com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:2138)
at com.orientechnologies.orient.client.remote.OStorageRemote$27.execute(OStorageRemote.java:1160)
at com.orientechnologies.orient.client.remote.OStorageRemote$2.execute(OStorageRemote.java:196)
at com.orientechnologies.orient.client.remote.OStorageRemote.baseNetworkOperation(OStorageRemote.java:235)
at com.orientechnologies.orient.client.remote.OStorageRemote.networkOperationRetry(OStorageRemote.java:193)
at com.orientechnologies.orient.client.remote.OStorageRemote.networkOperation(OStorageRemote.java:204)
at com.orientechnologies.orient.client.remote.OStorageRemote.command(OStorageRemote.java:1136)
at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:69)
at com.orientechnologies.orient.core.metadata.schema.OClassImpl.setAbstract(OClassImpl.java:1369)
at com.orientechnologies.orient.core.metadata.schema.OClassAbstractDelegate.setAbstract(OClassAbstractDelegate.java:63)
at com.acme.Test.main(Test.java:68)
您可以在https://github.com/lucafrosini/test-orientdb-2-2-12找到重现此行为的完整项目
通过调试发现原因是:
Caused by: com.orientechnologies.orient.core.exception.ODatabaseException: Impossible to remove the last cluster of class 'Entity' drop the class instead
DB name="mydb"
DB name="mydb"