Подтвердить что ты не робот

Эквивалент Java Micro ORM

Каким будет ближайший эквивалент Java для Micro ORM, например Dapper, PetaPoco, Massive или CodingHorror?

4b9b3361

Ответ 1

Я рекомендую Spring шаблоны JDBC. Хотя это не "истинный" ORM, приятно использовать, где Hibernate кажется излишним.

Ответ 2

sql2o кажется альтернативой Dapper - тонкая оболочка вокруг 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

сайт - http://www.sql2o.org/

Ответ 3

Вот список инструментов, которые "облегчают боль" при взаимодействии с простым JDBC:

И вот список инструментов, которые немного отличаются от простого JDBC, т.е. предоставляют некоторые средства ORM/ActiveRecord

  • jOOQ (Этот, вероятно, не квалифицируется как микро-ORM)
  • JaQu
  • ActiveJDBC (это скорее API-интерфейс ActiveRecord, чем ORM)
  • MyBatis (в нем основное внимание уделяется шаблону SQL, но также имеет некоторые функции отображения).
  • EBe

Ответ 4

Еще один интересный свет ORM JDBI. Вот Пятиминутное введение

Он имеет два альтернативных API:

Свободный API

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();

и SQL Object API, где инструкции SQL сопоставляются с методами с такими декларативными интерфейсами:

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

Также проверьте SimpleFlatMapper

Это простой инструмент ResultSet для Object Mapper. Он просто подключается к вершине jdbc и дает гораздо лучшую производительность, чем Hibernate Ibatis или даже sql2o. Он легко интегрирует JdbcTemplate и предоставляет конструктор, сеттер и инъекцию поля.

Ответ 6

Этот пока не упоминается здесь: dalesbred

Подобно sql2o и dapper...