mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-04 21:01:21 +08:00
Add export*ForeignKeys properties
This commit is contained in:
parent
5cdb0e3112
commit
1493cc444a
@ -241,6 +241,14 @@
|
||||
<entry>exportForeignKeys</entry>
|
||||
<entry>export foreign keys (default: true)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>exportDirectForeignKeys</entry>
|
||||
<entry>export direct foreign keys (default: true)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>exportInverseForeignKeys</entry>
|
||||
<entry>export inverse foreign keys (default: true)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>customTypes</entry>
|
||||
<entry>Custom user types (default: none)</entry>
|
||||
|
||||
@ -321,6 +321,20 @@ public class AbstractMetaDataExportMojo extends AbstractMojo {
|
||||
*/
|
||||
private boolean exportForeignKeys;
|
||||
|
||||
/**
|
||||
* switch to export direct foreign keys
|
||||
*
|
||||
* @parameter default-value=true
|
||||
*/
|
||||
private boolean exportDirectForeignKeys;
|
||||
|
||||
/**
|
||||
* switch to export inverse foreign keys
|
||||
*
|
||||
* @parameter default-value=true
|
||||
*/
|
||||
private boolean exportInverseForeignKeys;
|
||||
|
||||
/**
|
||||
* override default column order (default: alphabetical)
|
||||
*
|
||||
@ -427,6 +441,8 @@ public class AbstractMetaDataExportMojo extends AbstractMojo {
|
||||
exporter.setTableTypesToExport(tableTypesToExport);
|
||||
exporter.setExportPrimaryKeys(exportPrimaryKeys);
|
||||
exporter.setExportForeignKeys(exportForeignKeys);
|
||||
exporter.setExportDirectForeignKeys(exportDirectForeignKeys);
|
||||
exporter.setExportInverseForeignKeys(exportInverseForeignKeys);
|
||||
exporter.setSpatial(spatial);
|
||||
|
||||
if (imports != null && imports.length > 0) {
|
||||
|
||||
@ -114,6 +114,10 @@ public class MetaDataExporter {
|
||||
|
||||
private boolean exportForeignKeys = true;
|
||||
|
||||
private boolean exportDirectForeignKeys = true;
|
||||
|
||||
private boolean exportInverseForeignKeys = true;
|
||||
|
||||
private boolean spatial = false;
|
||||
|
||||
@Nullable
|
||||
@ -347,22 +351,26 @@ public class MetaDataExporter {
|
||||
}
|
||||
|
||||
if (exportForeignKeys) {
|
||||
// collect foreign keys
|
||||
Map<String,ForeignKeyData> foreignKeyData = keyDataFactory
|
||||
.getImportedKeys(md, catalog, schema, tableName);
|
||||
if (!foreignKeyData.isEmpty()) {
|
||||
for (ForeignKeyData fkd : foreignKeyData.values()) {
|
||||
if (namingStrategy.shouldGenerateForeignKey(schemaAndTable, fkd)) {
|
||||
classModel.getData().put(ForeignKeyData.class, foreignKeyData.values());
|
||||
if (exportDirectForeignKeys) {
|
||||
// collect foreign keys
|
||||
Map<String,ForeignKeyData> foreignKeyData = keyDataFactory
|
||||
.getImportedKeys(md, catalog, schema, tableName);
|
||||
if (!foreignKeyData.isEmpty()) {
|
||||
for (ForeignKeyData fkd : foreignKeyData.values()) {
|
||||
if (namingStrategy.shouldGenerateForeignKey(schemaAndTable, fkd)) {
|
||||
classModel.getData().put(ForeignKeyData.class, foreignKeyData.values());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// collect inverse foreign keys
|
||||
Map<String,InverseForeignKeyData> inverseForeignKeyData = keyDataFactory
|
||||
.getExportedKeys(md, catalog, schema, tableName);
|
||||
if (!inverseForeignKeyData.isEmpty()) {
|
||||
classModel.getData().put(InverseForeignKeyData.class, inverseForeignKeyData.values());
|
||||
if (exportInverseForeignKeys) {
|
||||
// collect inverse foreign keys
|
||||
Map<String,InverseForeignKeyData> inverseForeignKeyData = keyDataFactory
|
||||
.getExportedKeys(md, catalog, schema, tableName);
|
||||
if (!inverseForeignKeyData.isEmpty()) {
|
||||
classModel.getData().put(InverseForeignKeyData.class, inverseForeignKeyData.values());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -715,6 +723,24 @@ public class MetaDataExporter {
|
||||
this.exportForeignKeys = exportForeignKeys;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set whether direct foreign keys should be exported
|
||||
*
|
||||
* @param exportDirectForeignKeys
|
||||
*/
|
||||
public void setExportDirectForeignKeys(boolean exportDirectForeignKeys) {
|
||||
this.exportDirectForeignKeys = exportDirectForeignKeys;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set whether inverse foreign keys should be exported
|
||||
*
|
||||
* @param exportInverseForeignKeys
|
||||
*/
|
||||
public void setExportInverseForeignKeys(boolean exportInverseForeignKeys) {
|
||||
this.exportInverseForeignKeys = exportInverseForeignKeys;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the java imports
|
||||
*
|
||||
|
||||
@ -218,6 +218,16 @@ public class AntMetaDataExporter extends Task {
|
||||
*/
|
||||
private boolean exportForeignKeys = true;
|
||||
|
||||
/**
|
||||
* export direct foreign keys
|
||||
*/
|
||||
private boolean exportDirectForeignKeys = true;
|
||||
|
||||
/**
|
||||
* export inverse foreign keys
|
||||
*/
|
||||
private boolean exportInverseForeignKeys = true;
|
||||
|
||||
/**
|
||||
* override default column order (default: alphabetical)
|
||||
*/
|
||||
@ -310,6 +320,8 @@ public class AntMetaDataExporter extends Task {
|
||||
exporter.setTableTypesToExport(tableTypesToExport);
|
||||
exporter.setExportPrimaryKeys(exportPrimaryKeys);
|
||||
exporter.setExportForeignKeys(exportForeignKeys);
|
||||
exporter.setExportDirectForeignKeys(exportDirectForeignKeys);
|
||||
exporter.setExportInverseForeignKeys(exportInverseForeignKeys);
|
||||
exporter.setSpatial(spatial);
|
||||
|
||||
if (imports != null && imports.length > 0) {
|
||||
@ -648,6 +660,22 @@ public class AntMetaDataExporter extends Task {
|
||||
return exportForeignKeys;
|
||||
}
|
||||
|
||||
public boolean isExportDirectForeignKeys() {
|
||||
return exportDirectForeignKeys;
|
||||
}
|
||||
|
||||
public void setExportDirectForeignKeys(boolean exportDirectForeignKeys) {
|
||||
this.exportDirectForeignKeys = exportDirectForeignKeys;
|
||||
}
|
||||
|
||||
public boolean isExportInverseForeignKeys() {
|
||||
return exportInverseForeignKeys;
|
||||
}
|
||||
|
||||
public void setExportInverseForeignKeys(boolean exportInverseForeignKeys) {
|
||||
this.exportInverseForeignKeys = exportInverseForeignKeys;
|
||||
}
|
||||
|
||||
public void setExportForeignKeys(boolean exportForeignKeys) {
|
||||
this.exportForeignKeys = exportForeignKeys;
|
||||
}
|
||||
|
||||
@ -258,6 +258,20 @@ public class MetaDataExporterTest {
|
||||
assertTrue(new File(folder.getRoot(), "test/DateTestType.java").exists());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void minimal_configuration_only_direct_foreign_keys() throws SQLException {
|
||||
MetaDataExporter exporter = new MetaDataExporter();
|
||||
exporter.setSchemaPattern("PUBLIC");
|
||||
exporter.setPackageName("test");
|
||||
exporter.setNamePrefix("");
|
||||
exporter.setNameSuffix("Type");
|
||||
exporter.setTargetFolder(folder.getRoot());
|
||||
exporter.setExportInverseForeignKeys(false);
|
||||
exporter.export(metadata);
|
||||
|
||||
assertTrue(new File(folder.getRoot(), "test/DateTestType.java").exists());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void minimal_configuration_with_bean_prefix() throws SQLException {
|
||||
MetaDataExporter exporter = new MetaDataExporter();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user