web-dev-qa-db-fra.com

Java équivalent Micro ORM

Quel serait l'équivalent le plus proche en Java d'un Micro ORM tel que Dapper , PetaPoco , Massive ou CodingHorror ?

56
Kynth

Je recommande modèles Spring JDBC . Bien que ce ne soit pas un "vrai" ORM, c'est un plaisir à utiliser là où Hibernate semble exagéré.

22
Arnelism

sql2o semble être une alternative à Dapper - wrapper fin autour de JDBC

String sql =
    "SELECT id, category, duedate " +
    "FROM tasks " +
    "WHERE category = :category";
Sql2o sql2o = new Sql2o(DB_URL, USER, PASS);
List<Task> tasks = sql2o.createQuery(sql)
    .addParameter("category", "foo")
    .executeAndFetch(Task.class);

github - https://github.com/aaberg/sql2o

site - http://www.sql2o.org/

24
tomaszkubacki

Voici une liste d'outils qui "soulagent la douleur" lors de l'interaction avec un JDBC simple:

Et voici une liste d'outils qui vont un peu au-delà du simple JDBC, c'est-à-dire fournissent des fonctionnalités ORM/ActiveRecord

  • jOOQ (Celui-ci n'est probablement pas qualifié de micro-ORM)
  • JaQ
  • ActiveJDBC (Celui-ci est plus une API ActiveRecord, qu'un ORM)
  • MyBatis (Celui-ci se concentre sur la création de modèles SQL, mais possède également des fonctionnalités de mappage)
  • EBean
15
Lukas Eder

Un autre ORM léger intéressant est JDBI . Voici introduction de cinq minutes

Il a deux API alternatives:

API Fluent

DBI dbi = new DBI(ds);
Handle h = dbi.open();

String name = h.createQuery("select name from something where id = :id")
                    .bind("id", 1)
                    .map(StringMapper.FIRST)
                    .first();

et API SQL Object où les instructions SQL sont mappées à des méthodes avec des interfaces déclaratives comme celle-ci:

public interface MyDAO
{
  @SqlUpdate("create table something (id int primary key, name varchar(100))")
  void createSomethingTable();
}

DBI dbi = new DBI(ds);
MyDAO dao = dbi.open(MyDAO.class);
dao.createSomethingTable();
5
tomaszkubacki

Commander également SimpleFlatMapper

C'est un mappeur ResultSet vers Object simple et performant. Il se branche simplement sur jdbc et donne de bien meilleures performances que Hibernate Ibatis ou même sql2o. Il intègre facilement JdbcTemplate et fournit l'injection de constructeur, de setter et de champ.

3
Anaud Roger

Celui-ci ne semble pas encore mentionné ici: dalesbred

Similaire à sql2o et dapper ...

2
jl.