2016-11-13 2 views
1

Я написал код, чтобы создать несколько таблиц от апача метамодели:Apache Metamodel Как добавить внешние ключи при создании таблицы

dataContext.executeUpdate(new UpdateScript() { 
     @Override 
     public void run(UpdateCallback updateCallback) { 
      updateCallback.createTable(schema, "aTable").withColumn("id").ofType(ColumnType.INTEGER) 
      .withColumn("anotherTableId").ofType(ColumnType.INTEGER).execute(); 
      updateCallback.createTable(schema, "anotherTable").withColumn("id").ofType(ColumnType.INTEGER).execute(); 
     } 
} 

, как я могу добавить связь между этими таблицами?

ответ

0

Вы можете попробовать:

dataContext.executeUpdate(new UpdateScript() { 
     @Override 
     public void run(UpdateCallback updateCallback) { 
      Table aTable = updateCallback.createTable(schema, "aTable") 
       .withColumn("id").ofType(ColumnType.INTEGER) 
       .withColumn("anotherTableId").ofType(ColumnType.INTEGER).execute(); 
      Table anotherTable = updateCallback.createTable(schema, "anotherTable") 
       .withColumn("id").ofType(ColumnType.INTEGER).execute(); 

      MutableRelationship.createRelationship(
       anotherTable.getColumnByName("id"), 
       aTable.getColumnByName("anotherTableId")); 
     } 
} 
+0

к сожалению MutableRelationship.craeteRelationship() обновляет только метамодель не база данных фоновым. –

Смежные вопросы