diff --git a/src/main/java/io/ebean/config/ServerConfig.java b/src/main/java/io/ebean/config/ServerConfig.java index 9ba10c287..34d5f2f83 100644 --- a/src/main/java/io/ebean/config/ServerConfig.java +++ b/src/main/java/io/ebean/config/ServerConfig.java @@ -139,7 +139,7 @@ public class ServerConfig { * Having this on and registering entity classes means we don't need to manually * write that code or use classpath scanning to find entity classes. */ - private boolean loadModuleInfo; + private boolean loadModuleInfo = true; /** * List of interesting classes such as entities, embedded, ScalarTypes, @@ -3298,6 +3298,17 @@ public class ServerConfig { return loadModuleInfo && classes.isEmpty(); } + /** + * Set false to turn off automatic registration of entity beans. + *

+ * When using query beans that also generates a module info class that + * can register the entity bean classes (to avoid classpath scanning). + * This is on by default and setting this to false turns it off. + */ + public void setLoadModuleInfo(boolean loadModuleInfo) { + this.loadModuleInfo = loadModuleInfo; + } + public enum UuidVersion { VERSION4, VERSION1, diff --git a/src/test/java/io/ebean/config/ServerConfigTest.java b/src/test/java/io/ebean/config/ServerConfigTest.java index b54851686..60167ccce 100644 --- a/src/test/java/io/ebean/config/ServerConfigTest.java +++ b/src/test/java/io/ebean/config/ServerConfigTest.java @@ -138,8 +138,11 @@ public class ServerConfigTest { assertEquals(JsonConfig.DateTime.ISO8601, serverConfig.getJsonDateTime()); assertEquals(JsonConfig.Date.ISO8601, serverConfig.getJsonDate()); assertTrue(serverConfig.getPlatformConfig().isCaseSensitiveCollation()); - assertFalse(serverConfig.isAutoLoadModuleInfo()); + assertTrue(serverConfig.isAutoLoadModuleInfo()); assertEquals(Long.MAX_VALUE, serverConfig.getCollectQueryPlanThresholdMicros()); + + serverConfig.setLoadModuleInfo(false); + assertFalse(serverConfig.isAutoLoadModuleInfo()); } @Test