hrorm

Hrorm is a simple, declarative ORM library.

Лицензия

Лицензия

Категории

Категории

ORM Данные
Группа

Группа

org.hrorm
Идентификатор

Идентификатор

hrorm
Последняя версия

Последняя версия

0.15.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

hrorm
Hrorm is a simple, declarative ORM library.
Ссылка на сайт

Ссылка на сайт

http://hrorm.org
Система контроля версий

Система контроля версий

https://github.com/ojplg/hrorm

Скачать hrorm

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/org.hrorm/hrorm/ -->
<dependency>
    <groupId>org.hrorm</groupId>
    <artifactId>hrorm</artifactId>
    <version>0.15.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.hrorm/hrorm/
implementation 'org.hrorm:hrorm:0.15.1'
// https://jarcasting.com/artifacts/org.hrorm/hrorm/
implementation ("org.hrorm:hrorm:0.15.1")
'org.hrorm:hrorm:jar:0.15.1'
<dependency org="org.hrorm" name="hrorm" rev="0.15.1">
  <artifact name="hrorm" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.hrorm', module='hrorm', version='0.15.1')
)
libraryDependencies += "org.hrorm" % "hrorm" % "0.15.1"
[org.hrorm/hrorm "0.15.1"]

Зависимости

test (6)

Идентификатор библиотеки Тип Версия
org.projectlombok : lombok jar 1.18.0
org.projectlombok : lombok-maven pom 1.18.0.0
com.h2database : h2 jar 1.4.197
junit : junit jar 4.12
org.mockito : mockito-core jar 3.0.0
org.postgresql : postgresql jar 42.2.4

Модули Проекта

Данный проект не имеет модулей.

hrorm

Hrorm is a concise, declarative, opinionated, type-checked library for the creation of Data Access Objects (DAOs) that will not inflict your codebase with XMLosis or annotationitis.

The hrorm website contains documentation for using it as well as detailed descriptions of the hows and whys of hrorm and its ethos.

Hacking

There is not much to say here. The code builds with maven. Hrorm itself has no dependencies. The tests have a few dependencies, but they are all simply jars. The tests run against an in memory database (H2). There is not much code. Once you clone it, you're basically ready to go.

Hrorm requires Java 8.

Very short CONTRIBUTING doc.

You can also run the tests against postgres, but it takes a bit of work.

  1. Set up postgres locally
    1. User named "hrorm_user"
    2. Password "hrorm_password"
    3. "hrorm_user" must own a database named "hrorm"
  2. cd to the scripts directory and run the test_postgres.sh script or edit the HelperFactory to use the PostgresHelper instead of the H2Helper

Improvement Ideas and Questions

  • Where object improvements:
    • Is creating strange statements like "a OR b AND c" desirable? Should it be prohibited somehow?
    • Can we use the column types (or field types) to improve type checking when building where clauses?
    • Support for columns on joined tables?
    • Support for columns on child tables?
  • Hrorm does a lot of string building at query time. Should SQL strings be cached?
  • Similarly, DaoBuilder objects are always mutable. Perhaps they should lock at Dao creation time?
  • Support different types, e.g. String GUIDs, for primary keys
  • Add methods that allow for updates and deletes based on Where objects
  • Make ChildSelectStrategy for immutable models
  • Check ChildSelectStrategy works for complicated structures
  • Check that join-of-join child selection works for subselects with strange primary key column names

Версии библиотеки

Версия
0.15.1
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.2
0.10.1
0.10.0
0.9.0
0.8.0
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.2
0.5.0
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.2
0.2.1
0.2.0
0.1.0-rc2