排序CREATE TABLE语句,其中包含Java中的引用
我的项目即将创建我自己的持久性实现。也许这很容易,但我找不到解决办法。我用自己的annotation@Entity注释了类,在annotation Processor中,我想创建SQL create table语句,并将它们保存到文件中,然后执行它们。但我如何对这些陈述进行排序?我在表中有引用,我必须首先创建非引用表,然后在此第一个表上创建表引用。我将是具体的。假设您有3个类:Person Department和Company。它们被注释为实体,我想为CREATETABLES创建SQL语句。但是公司对部门的引用和个人对部门的引用,所以我必须首先创建部门表,然后创建个人或公司。我在Annotation Processor中创建语句,因此我必须处理带注释的元素。现在我只是对要写入文件的字符串进行排序。但是它不是很漂亮排序CREATE TABLE语句,其中包含Java中的引用,java,sorting,jdbc,annotations,Java,Sorting,Jdbc,Annotations,我的项目即将创建我自己的持久性实现。也许这很容易,但我找不到解决办法。我用自己的annotation@Entity注释了类,在annotation Processor中,我想创建SQL create table语句,并将它们保存到文件中,然后执行它们。但我如何对这些陈述进行排序?我在表中有引用,我必须首先创建非引用表,然后在此第一个表上创建表引用。我将是具体的。假设您有3个类:Person Department和Company。它们被注释为实体,我想为CREATETABLES创建SQL语句。但是
ArrayList<String> sortedListOfCommands = new ArrayList<>();
for(String command: listOfCommands){
if(!command.contains("FOREIGN"))
sortedListOfCommands.add(command);
}
for(String command: listOfCommands){
if(!sortedListOfCommands.contains(command))
sortedListOfCommands.add(command);
}
ArrayList sortedListofCommand=new ArrayList();
for(字符串命令:listOfCommands){
如果(!command.contains(“FOREIGN”))
sortedListOfCommands.add(命令);
}
for(字符串命令:listOfCommands){
如果(!sortedListOfCommands.contains(命令))
sortedListOfCommands.add(命令);
}
显示您已经尝试过的内容,并说出发生了什么以及应该发生什么通过SQL字符串中的什么进行输入?