bx-orm-configuration — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited bx-orm-configuration (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Application.bxclass {
this.datasource = "myApp" // default datasource for ORM
this.ORMenabled = true
this.ormSettings = {
// required — always specify to avoid startup performance hit
entityPaths : [ "models/entities" ],
// database schema management
dbcreate : "update", // none | update | dropcreate
// performance & debugging
logSQL : false,
savemapping : false, // save .hbmxml files (debug only)
ignoreParseErrors : false,
// session management (recommended settings)
autoManageSession : false, // manage sessions yourself via transaction{}
flushAtRequestEnd : false, // don't auto-flush; use explicit transactions
// event system
eventHandling : false,
eventHandler : "", // path to global event handler class
}
}dbcreate Options| Value | Behavior |
|---|---|
none (default) | Does not modify the database schema |
update | Incrementally adds missing tables/columns; never drops |
dropcreate | Drops and recreates the entire schema on every ORM reload |
Recommendation: Use update in development, none in production (use DB migrations instead).
| Setting | Default | Description |
|---|---|---|
entityPaths | (app directory) | Directories to scan for persistent classes. Always set this. |
datasource | this.datasource | Overrides the application datasource for ORM |
dbcreate | none | Schema management strategy |
dialect | auto | Hibernate SQL dialect (usually auto-detected) |
logSQL | false | Log generated SQL to console (debug) |
flushAtRequestEnd | true | Auto-flush at request end — set false in production |
autoManageSession | true | Let engine manage sessions — set false for explicit transactions |
eventHandling | false | Enable ORM lifecycle events |
eventHandler | Path to global ORM event handler class | |
secondaryCacheEnabled | false | Enable L2 cache (Ehcache) |
cacheConfig | Path to Ehcache XML config file | |
namingstrategy | default | Naming convention: default, smart, or custom class |
sqlScript | Path to SQL file executed after ORM init (seed data) | |
savemapping | false | Write Hibernate .hbmxml mapping files (debugging) |
class {
this.datasource = "myApp"
this.ORMenabled = true
this.ormSettings = {
entityPaths : [ "models" ],
dbcreate : "none", // use DB migrations in production
flushAtRequestEnd : false, // explicit transactions only
autoManageSession : false, // manage sessions yourself
eventHandling : true,
eventHandler : "models.ORMEventHandler",
secondaryCacheEnabled: true,
cacheProvider : "Ehcache",
cacheConfig : "./config/ehcache.xml",
logSQL : false,
ignoreParseErrors : false
}
}Let Hibernate auto-detect (works 95% of the time), or specify explicitly:
this.ormSettings = {
dialect: "MySQL57InnoDB" // explicit dialect
// dialect: "PostgreSQL9"
// dialect: "SQLServer2008"
// dialect: "Oracle10g"
// dialect: "H2"
}Common dialects: MySQL5InnoDB, MySQL57InnoDB, MariaDB, PostgreSQL9, SQLServer2008, Oracle10g, H2, HSQL.
this.ormSettings = {
entityPaths: [ "models/primary", "models/reporting" ],
datasource : "primary" // default; individual entities can override
}Override per-entity:
class persistent="true" datasource="reporting" {
// ...
}Force a full reload of ORM mappings (clears entity cache):
ORMReload()Useful after adding entities or changing mappings during development.
entityPaths — it will scan the entire application tree (very slow)flushAtRequestEnd=true in production — leads to unpredictable savesautoManageSession=true when using explicit transaction{} blockstransaction {} blocks to demarcate database writeslogSQL=true temporarily to debug unexpected queriessavemapping=true temporarily to inspect Hibernate XML mappings when debugging~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.