我是orientdb的新手,并尝试从java代码库运行以下命令,但获取Invalid关键字:PROPERTY错误。同样的命令在orientdb工作室中完美无缺。无法理解为什么它不能通过代码工作。
CREATE CLASS User
CREATE PROPERTY User.firstName String
CREATE PROPERTY User.password String
ALTER PROPERTY User.password NOTNULL = true
我正在使用tinkerpop java库进行开发。以下是执行命令的代码。
OrientGraph graph = graphFactory.getTx();
int modified = graph.command(
new OCommandSQL(command)).execute();
感谢。
答案 0 :(得分:1)
我已经能够重现你的问题,你不能将所有这些指令放在变量命令中,你必须单独运行它们,我给你两种方法:
第一次尝试
OrientGraphFactory graphFactory=new OrientGraphFactory(path+DB);
OrientGraph graph=graphFactory.getTx();
List<String> Command=new ArrayList<String>();
Command.add("CREATE CLASS User");
Command.add("CREATE PROPERTY User.firstName String");
Command.add("CREATE PROPERTY User.password String");
Command.add("ALTER PROPERTY User.password NOTNULL true");
for(int i=0;i<Command.size();i++)
{
String command=Command.get(i);
graph.command(new OCommandSQL(command)).execute();
}
第二次尝试
String command="CREATE CLASS User";
int modified=graph.command(new OCommandSQL(command)).execute();
String command2="CREATE PROPERTY User.firstName String";
int modified2=graph.command(new OCommandSQL(command2)).execute();
String command3="CREATE PROPERTY User.password String";
int modified3=graph.command(new OCommandSQL(command3)).execute();
String command4="ALTER PROPERTY User.password NOTNULL true";
graph.command(new OCommandSQL(command4)).execute();
希望有所帮助