Giter Site home page Giter Site logo

depot's Introduction

Depot Persistence Library

Depot is a relational persistence library for Java. It is an ORM library, but has aims that are somewhat different from the popular "managed" persistence libraries like Hibernate and others.

Design Goals

  • Eliminate (as much as possible) the use of raw SQL, instead providing Java classes that allow the expressions of queries and updates in as concise but compile-time checkable a manner as possible.
  • Reduce the pain of schema and data migrations as much as possible, but not so much that the system used to do the migrations is too complex for anyone to understand or use properly.
  • Use annotations to layer database metadata over the top of (almost) POJOs.
  • Use annotations that are syntactically and semantically equivalent to EJB3 persistence annotations wherever possible.
  • Support multiple database backends (currently MySQL, Postgresql and HSQLDB).
  • Provide caching support (currently integrated with EHCache).
  • Keep an eye toward eventual support for sharded databases (not yet implemented).

Depot studiously avoids ever doing anything magical. You only access the database when you make a method call requesting that records be read from the database or records be updated in the database. Depot attempts only to be a concise, compile-time checkable veneer over raw database access that conveniently models database tables as Java objects.

In this way Depot is more of an evolution of DAO-like libraries of the past than a pared down sibling of the managed persistence libraries of the present. It distinguishes itself by taking advantage of annotations to concisely express database metadata and by striving to stay out of your way as much and surprise you as little as possible.

Code Examples

Here's are some example to give you a taste of what code using Depot looks like.

API docs are also available.

Features

Depot supports a number of very useful features. Here are a few of the main features for which time has permitted documentation:

Getting Started

If you want to use Depot on your project, check the following page for information on getting Depot and dependencies via Maven or manually, as well as what sort of configuration Depot requires to start talking to your database.

Discussion

Feel free to pop over to the OOO Libs Google Group to ask questions and get (and give) answers.

History

Depot was started in September of 2006 by Three Rings as a part of their Whirled project. Its primary authors are Michael Bayne and Pär Winzell.

License and Distribution

Depot is released under the New BSD License. The most recent version of the library is available at https://github.com/threerings/depot/

depot's People

Contributors

deadmoose avatar groves avatar jamie-threerings avatar mjohnson-ooo avatar samskivert avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.