diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGenerator.java
index 4e56b2f87e..7f10fdeac3 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGenerator.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGenerator.java
@@ -52,22 +52,26 @@ import java.util.Set;
*/
abstract class AbstractGenerator implements Generator {
- boolean generateDeprecated = true;
- boolean generateRelations = true;
- boolean generateInstanceFields = true;
- boolean generateGeneratedAnnotation = true;
- boolean useSchemaVersionProvider = false;
- boolean generateRecords = true;
- boolean generatePojos = false;
- boolean generatePojosEqualsAndHashCode = false;
- boolean generateImmutablePojos = false;
- boolean generateInterfaces = false;
- boolean generateDaos = false;
- boolean generateJPAAnnotations = false;
- boolean generateValidationAnnotations = false;
- boolean generateGlobalObjectReferences = true;
- boolean fluentSetters = false;
- String fullyQualifiedTypes = "";
+ boolean generateDeprecated = true;
+ boolean generateRelations = true;
+ boolean generateInstanceFields = true;
+ boolean generateGeneratedAnnotation = true;
+ boolean useSchemaVersionProvider = false;
+ boolean generateRecords = true;
+ boolean generatePojos = false;
+ boolean generatePojosEqualsAndHashCode = false;
+ boolean generateImmutablePojos = false;
+ boolean generateInterfaces = false;
+ boolean generateDaos = false;
+ boolean generateJPAAnnotations = false;
+ boolean generateValidationAnnotations = false;
+ boolean generateGlobalObjectReferences = true;
+ boolean generateGlobalRoutineReferences = true;
+ boolean generateGlobalSequenceReferences = true;
+ boolean generateGlobalTableReferences = true;
+ boolean generateGlobalUDTReferences = true;
+ boolean fluentSetters = false;
+ String fullyQualifiedTypes = "";
protected GeneratorStrategyWrapper strategy;
@@ -220,6 +224,46 @@ abstract class AbstractGenerator implements Generator {
this.generateGlobalObjectReferences = generateGlobalObjectReferences;
}
+ @Override
+ public boolean generateGlobalRoutineReferences() {
+ return generateGlobalRoutineReferences;
+ }
+
+ @Override
+ public void setGenerateGlobalRoutineReferences(boolean generateGlobalRoutineReferences) {
+ this.generateGlobalRoutineReferences = generateGlobalRoutineReferences;
+ }
+
+ @Override
+ public boolean generateGlobalSequenceReferences() {
+ return generateGlobalSequenceReferences;
+ }
+
+ @Override
+ public void setGenerateGlobalSequenceReferences(boolean generateGlobalSequenceReferences) {
+ this.generateGlobalSequenceReferences = generateGlobalSequenceReferences;
+ }
+
+ @Override
+ public boolean generateGlobalTableReferences() {
+ return generateGlobalTableReferences;
+ }
+
+ @Override
+ public void setGenerateGlobalTableReferences(boolean generateGlobalTableReferences) {
+ this.generateGlobalTableReferences = generateGlobalTableReferences;
+ }
+
+ @Override
+ public boolean generateGlobalUDTReferences() {
+ return generateGlobalUDTReferences;
+ }
+
+ @Override
+ public void setGenerateGlobalUDTReferences(boolean generateGlobalUDTReferences) {
+ this.generateGlobalUDTReferences = generateGlobalUDTReferences;
+ }
+
@Override
public boolean fluentSetters() {
return fluentSetters;
diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/GenerationTool.java b/jOOQ-codegen/src/main/java/org/jooq/util/GenerationTool.java
index f732efc395..b13b2e92ae 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/util/GenerationTool.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/util/GenerationTool.java
@@ -393,6 +393,14 @@ public class GenerationTool {
generator.setGenerateValidationAnnotations(g.getGenerate().isValidationAnnotations());
if (g.getGenerate().isGlobalObjectReferences() != null)
generator.setGenerateGlobalObjectReferences(g.getGenerate().isGlobalObjectReferences());
+ if (g.getGenerate().isGlobalRoutineReferences() != null)
+ generator.setGenerateGlobalRoutineReferences(g.getGenerate().isGlobalRoutineReferences());
+ if (g.getGenerate().isGlobalSequenceReferences() != null)
+ generator.setGenerateGlobalSequenceReferences(g.getGenerate().isGlobalSequenceReferences());
+ if (g.getGenerate().isGlobalTableReferences() != null)
+ generator.setGenerateGlobalTableReferences(g.getGenerate().isGlobalTableReferences());
+ if (g.getGenerate().isGlobalUDTReferences() != null)
+ generator.setGenerateGlobalUDTReferences(g.getGenerate().isGlobalUDTReferences());
if (g.getGenerate().isFluentSetters() != null)
generator.setFluentSetters(g.getGenerate().isFluentSetters());
if (g.getGenerate().isPojosEqualsAndHashCode() != null)
diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/Generator.java b/jOOQ-codegen/src/main/java/org/jooq/util/Generator.java
index eacf2aa96e..2b8d5661f0 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/util/Generator.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/util/Generator.java
@@ -192,6 +192,46 @@ public interface Generator {
*/
void setGenerateGlobalObjectReferences(boolean generateGlobalObjectReferences);
+ /**
+ * Whether global routine references should be generated
+ */
+ boolean generateGlobalRoutineReferences();
+
+ /**
+ * Whether global routine references should be generated
+ */
+ void setGenerateGlobalRoutineReferences(boolean globalRoutineReferences);
+
+ /**
+ * Whether global sequence references should be generated
+ */
+ boolean generateGlobalSequenceReferences();
+
+ /**
+ * Whether global sequence references should be generated
+ */
+ void setGenerateGlobalSequenceReferences(boolean globalSequenceReferences);
+
+ /**
+ * Whether global table references should be generated
+ */
+ boolean generateGlobalTableReferences();
+
+ /**
+ * Whether global table references should be generated
+ */
+ void setGenerateGlobalTableReferences(boolean globalTableReferences);
+
+ /**
+ * Whether global UDT references should be generated
+ */
+ boolean generateGlobalUDTReferences();
+
+ /**
+ * Whether global UDT references should be generated
+ */
+ void setGenerateGlobalUDTReferences(boolean globalUDTReferences);
+
/**
* Whether fluent setters should be generated
*/
diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java
index 436469b888..fb50fbaa1f 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java
@@ -282,7 +282,7 @@ public class JavaGenerator extends AbstractGenerator {
// ----------------------------------------------------------------------
generateSchema(schema);
- if (generateGlobalObjectReferences() && database.getSequences(schema).size() > 0) {
+ if (generateGlobalObjectReferences() && generateGlobalSequenceReferences() && database.getSequences(schema).size() > 0) {
generateSequences(schema);
}
@@ -298,7 +298,7 @@ public class JavaGenerator extends AbstractGenerator {
generateDaos(schema);
}
- if (generateGlobalObjectReferences() && database.getTables(schema).size() > 0) {
+ if (generateGlobalObjectReferences() && generateGlobalTableReferences() && database.getTables(schema).size() > 0) {
generateTableReferences(schema);
}
@@ -334,7 +334,7 @@ public class JavaGenerator extends AbstractGenerator {
generateUDTRoutines(schema);
}
- if (generateGlobalObjectReferences() && database.getUDTs(schema).size() > 0) {
+ if (generateGlobalObjectReferences() && generateGlobalUDTReferences() && database.getUDTs(schema).size() > 0) {
generateUDTReferences(schema);
}
@@ -346,7 +346,7 @@ public class JavaGenerator extends AbstractGenerator {
generateEnums(schema);
}
- if (database.getRoutines(schema).size() > 0 || hasTableValuedFunctions(schema)) {
+ if (generateGlobalObjectReferences() && generateGlobalRoutineReferences() && database.getRoutines(schema).size() > 0 || hasTableValuedFunctions(schema)) {
generateRoutines(schema);
}
@@ -2367,7 +2367,7 @@ public class JavaGenerator extends AbstractGenerator {
out.tab(1).println("}");
// [#2255] Avoid referencing sequence literals, if they're not generated
- if (generateGlobalObjectReferences()) {
+ if (generateGlobalObjectReferences() && generateGlobalSequenceReferences()) {
printSchemaReferences(out, database.getSequences(schema), Sequence.class, true);
}
diff --git a/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.6.0.xsd b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.6.0.xsd
index d3aa4fa165..7eb18991ef 100644
--- a/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.6.0.xsd
+++ b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.6.0.xsd
@@ -677,19 +677,47 @@
+
+
+
+
+
+
+
+
+
+
+
+