Java 如何在orientdb中将保留关键字用作列名?

Java 如何在orientdb中将保留关键字用作列名?,java,orientdb,Java,Orientdb,我想使用“id”作为orientdb中顶点的属性名称。我正在使用tinkerpop api 如果我通过JSON直接插入数据,我可以使用“id”作为属性名 INSERT INTO PERSON CONTENT{"id":1} 但我无法从JAVA中做到这一点 vertex.setProperty("id", 1, OType.INTEGER); 这就是我得到的错误: (java.lang.IllegalArgumentException) java.lang.IllegalArgumentExc

我想使用“id”作为orientdb中顶点的属性名称。我正在使用tinkerpop api

如果我通过JSON直接插入数据,我可以使用“id”作为属性名

INSERT INTO PERSON CONTENT{"id":1}
但我无法从JAVA中做到这一点

vertex.setProperty("id", 1, OType.INTEGER);
这就是我得到的错误:

(java.lang.IllegalArgumentException) java.lang.IllegalArgumentException: Property key is reserved for all elements: id

这种例外的原因是因为这违反了蓝图标准。
但是,您始终可以使用以下命令禁用此类约束:
graph.setStandardElementConstraints(false)

person.createProperty(“id”,OType.STRING);我已经从orient studio创建了属性“id”。将此属性设置为顶点时出错。setProperty(“id”,1,OType.INTEGER);试试这个vertex.setProperties(“id”,1);属性id必须声明为整型。您可以随时编辑自己的帖子并修复错误。
OrientGraph graph=new OrientGraph(currentPath); 

OClass person = graph.getRawGraph().getMetadata().getSchema().getClass("Person");
person.createProperty("id", OType.STRING);