goldmansachs / Reladomo
Licence: apache-2.0
Reladomo is an enterprise grade object-relational mapping framework for Java.
Stars: ✭ 336
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Reladomo
Freezer
A simple & fluent Android ORM, how can it be easier ? RxJava2 compatible
Stars: ✭ 326 (-2.98%)
Mutual labels: orm, database
Orm
ORM with clean object design, smart relationship loading and powerful collections.
Stars: ✭ 266 (-20.83%)
Mutual labels: orm, database
Python For Entrepreneurs Course Demos
Contains all the "handout" materials for Talk Python's Python for Entrepreneurs course. This includes notes and the final version of the website code.
Stars: ✭ 247 (-26.49%)
Mutual labels: orm, database
Prisma1
💾 Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL & MongoDB)
Stars: ✭ 16,851 (+4915.18%)
Mutual labels: orm, database
Granite
ORM Model with Adapters for mysql, pg, sqlite in the Crystal Language.
Stars: ✭ 238 (-29.17%)
Mutual labels: orm, database
Wetland
A Node.js ORM, mapping-based. Works with MySQL, PostgreSQL, SQLite and more.
Stars: ✭ 261 (-22.32%)
Mutual labels: orm, database
Piccolo
A fast, user friendly ORM and query builder which supports asyncio.
Stars: ✭ 219 (-34.82%)
Mutual labels: orm, database
Think Orm
Think ORM——the PHP Database&ORM Framework
Stars: ✭ 303 (-9.82%)
Mutual labels: orm, database
Db
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.
Stars: ✭ 2,832 (+742.86%)
Mutual labels: orm, database
Rel
💎 Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API
Stars: ✭ 317 (-5.65%)
Mutual labels: orm, database
Sqlhelper
SQL Tools ( Dialect, Pagination, DDL dump, UrlParser, SqlStatementParser, WallFilter, BatchExecutor for Test) based Java. it is easy to integration into any ORM frameworks
Stars: ✭ 242 (-27.98%)
Mutual labels: orm, database
Ronin
Ronin is a Ruby platform for vulnerability research and exploit development. Ronin allows for the rapid development and distribution of code, Exploits or Payloads, Scanners, etc, via Repositories.
Stars: ✭ 220 (-34.52%)
Mutual labels: orm, database
Mikro Orm
TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite databases.
Stars: ✭ 3,874 (+1052.98%)
Mutual labels: orm, database
Sequelize Auto
Automatically generate bare sequelize models from your database.
Stars: ✭ 2,494 (+642.26%)
Mutual labels: orm, database
Sequelizer
A GUI Desktop App for export sequelize models from database automatically.
Stars: ✭ 273 (-18.75%)
Mutual labels: orm, database
Architect
A set of tools which enhances ORMs written in Python with more features
Stars: ✭ 320 (-4.76%)
Mutual labels: orm, database
Reladomo
What is it?
Reladomo is an object-relational mapping (ORM) framework for Java with the following enterprise features:
- Strongly typed compile-time checked query language
- Bi-temporal chaining
- Transparent multi-schema support
- Full support for unit-testable code
- See the documentation for more detail.
What can I do with it?
- Model data as objects with meaningful relationships between them
- Define classes and relationships using simple XML files
- Traverse, query, fetch, and update graphs of objects in an idiomatic object-oriented way
- Manage bi-temporal data using built-in methods
- Define, create, query, and update data that has both business date and processing date axes
- Maintain complete and accurate audit history of changes efficiently
- Answer as-of questions such as "what did this object look like at the end of last quarter"
- Build applications as diverse as interactive web-apps to batch-processing
- Leverage transactions and batch operations to support high-performance throughput
- Detach objects to allow users to change data off-line
- Write database vendor-independent code
Detailed feature list
- Strongly typed compile-time checked query language
- Audit-only, Business time-series only, and Bi-temporal chaining
- Transparent multi-schema support (partition data across many databases)
- Object-oriented batch operations
- Flexible object relationship inflation
- Detached objects (allow data to be changed independently (a.k.a. delayed edit functionality) of the DB and then pushed (or reset) as and when required) - useful when users are editing data in a GUI form
- Multi-Threaded matcher Loader (MTLoader) is a high-performance pattern for merging changes from another source (file, feed, other DB, etc.) to your existing DB data. By design it is flexible/customizable and re-runnable
- Tunable caching by object type - partial, full, full off-heap
- Available meta-data - enables higher-level programming paradigms
- Multi-tier operation - obviates the need for direct DB access from client-side apps, enables better connection sharing, with no code changes required
- Full support for unit-testable code
- Databases supported include: Sybase (ASE & IQ), DB2, Oracle, Postgres, MS-SQL, H2, Derby, "generic" ...
Sample Project
To help getting started with Reladomo, a simple project is available with maven and gradle build set-up.
Prerequisite: install maven or gradle.
git clone https://github.com/goldmansachs/reladomo.git
cd samples/reladomo-sample-simple
Maven
mvn clean install
Gradle
gradle clean build
Once build is successful, run src/main/java/sample/HelloReladomoApp
to see how it behaves.
Documentation
Documentation is available online and also included within the Reladomo Javadoc jar file. Extract the jar file and refer to the docs below.
Reference | Description | File Path |
---|---|---|
Tutorial | This tutorial demonstrates the necessary steps to get your Reladomo project started. | userguide/ReladomoTutorial.html |
FAQ | Reladomo FAQ | mithrafaq/ReladomoFaq.html |
Reladomo Test Resource | This document explains the steps required to use Reladomo objects in unit tests. | mithraTestResource/ReladomoTestResource.html |
Reladomo Notification | When you have multiple JVMs connecting to a DB via Reladomo, you need to keep each JVM up-to-date with changes made by any of the other JVMs. Reladomo Notification is the primary mechanism for achieving this and keeping each JVMs Reladomo cache fresh. | notification/Notification.html |
Reladomo Primary Key Generator | Primary key generator is an optional feature in Reladomo that allows Reladomo objects to declare how the primary key is going to be generated. | primaryKeyGenerator/PrimaryKeyGenerator.html |
Reladomo Database Definition Generators | Database definition language (DDL) file generation is an optional feature in Reladomo that allows users to generate scripts to create tables, indices and foreign keys from the Reladomo object definition XML files. | mithraddl/ReladomoDdlGenerator.html |
Reladomo Object XML Generator | To expedite the creation of object XML files from existing schema, an object XML file generator has been created. It connects directly to a database, retrieving a list of the existing tables and generating object XML files that appropriately map to these tables. | objectxmlgenerator/Generator.html |
Visualize Domain Model Using Reladomo Metadata | When a persistent set of objects is specified in Reladomo metadata, the objects can be visualized. The output can be used as documentation, or simply browsed through to gain understanding of the domain. | visualization/ReladomoVisualization.html |
Reladomo Architecture | Reladomo internal architecture. | architecture/ReladomoInternalArchitecture.html |
Presentations | Reladomo presentation materials. | presentations |
Acquiring Reladomo
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].