a orm based on code generation
Java
Latest commit b533802 Jan 22, 2016 @stephenh Merge pull request #14 from cbrentharris/master
domain: Add AbstractQueries.find(ids) method.
Permalink
Failed to load latest commit information.
.settings/gradle
bootstrap
docs
domain-testing
domain Using the identity map for any ids that exist within. Jan 22, 2016
features Feature: Find by IDs (varags or list) Jan 22, 2016
gradle/wrapper
migrations
perf
starter
util
.checkstyle
.gitignore all: Use build/eclipse for Eclipse class files. Oct 29, 2014
.travis.yml
LICENSE.markdown
README.markdown
build.gradle
cleanup.xml
formatter.xml
gradlew
gradlew.bat
settings.gradle

README.markdown

Joist is a ORM based on code generation.

The goal is to provide Rails-like "empty domain objects" in an ORM that is simple, pleasant to use, and, if needed, scales nicely to really large schemas.

See joist.ws for more information.

Building

For Eclipse, the current .classpath/.project files assumed you've installed the Gradle STS plugin.

From the command line:

gradle install

Note that install is required to, like multi-project Maven setups, install the jars from upstream projects into your local Ivy repository for the downstream projects to fetch.

Note: The tests for the features project will fail until you create a local database schema by running the FeaturesCycle.launch target in Eclipse. (There is not currently a Buildr target to do this.)

Todo

  • Composite columns (e.g. TimePoint with both time+zone), if needed
  • Don't muck with system properties
  • Repo interfaces
    • Implement stub that copies values (iterates Alias, toJdbcValue, ArrayList<Object>)
    • Only one commit/flush at a time, serialized transaction isolation, leverage op locks
  • Configuration option (global, per-collection) to disable collection ticking
    • ...maybe remove/solve annoyance of cross-collection stomp?
  • Document PostgreSQL/MySQL no fsync settings for faster tests