Легкая альтернатива Hibernate?
86159 просмотра
14 ответа
У меня есть однопользовательская Java-программа, в которой я хотел бы хранить данные в облегченной базе данных, такой как Derby или Sqlite. Я хотел бы использовать слой абстракции данных в моей программе. Hibernate, кажется, требует много конфигурации и является излишним для того, что мне нужно. Какие легкие альтернативы Hibernate?
Автор: Jared Источник Размещён: 13.07.2019 09:37Ответы (14)
141 плюса
Hibernate требует почти нулевой конфигурации, если вы используете аннотации. Он даже может автоматически обнаруживать сопоставленные бины в classpath! Я не вижу никакой альтернативы к нему с обеих простоты и энергетической точки зрения.
Он также может представлять себя как JPA, что (IMHO) еще проще.
Автор: Vladimir Dyuzhev Размещён: 17.11.2008 10:4554 плюса
Моя библиотека ORMLite - одна из таких альтернатив. Он поддерживает MySQL, Postgres, Microsoft SQL Server, H2, Derby, HSQLDB и Sqlite и может быть легко расширен для других. Он использует аннотации для настройки классов, хорошую поддержку Spring, гибкий построитель запросов и т. Д.
Автор: Gray Размещён: 25.06.2010 06:0231 плюса
Это все еще требует конфигурации XML, но взгляните на MyBatis (ранее iBatis) .
Автор: kgiannakakis Размещён: 17.11.2008 07:5322 плюса
jOOQ поставляется с беглым DSL, имитирующим SQL непосредственно в Java, как побочный эффект для его основных целей:
- Генерация исходного кода
- Полная поддержка стандартного SQL, включая функции языка SQL, такие как UNION, вложенные SELECT, все типы JOIN, псевдонимы (например, для самостоятельных объединений) и т. Д.
- Широкая поддержка нестандартного SQL, включая UDT, хранимые процедуры, специфичные для поставщика функции и т. Д.
Прочитайте о jOOQ в этой статье: http://java.dzone.com/announcements/simple-and-intuitive-approach или посетите веб-сайт напрямую: http://www.jooq.org
(Отказ от ответственности, я работаю на компанию за JOOQ)
Автор: Lukas Eder Размещён: 23.12.2010 08:1414 плюса
Apache Commons DBUtils берет на себя большую часть повторяющихся трудностей из программирования JDBC. Это требует небольшой настройки и прост в освоении. Это не среда ORM (в отличие от Hibernate и других платформ, упомянутых здесь), но она автоматизирует отображение столбцов SELECT в поля-члены Java, а также другие повторяющиеся задачи программирования JDBC. Это конечно легкий.
Автор: Christopher Graziano Размещён: 16.01.2009 08:2212 плюса
Вы можете взглянуть на Ebean ORM . - Нет сессий - ленивая загрузка просто работает - Простой API для использования и изучения.
Автор: Rob Размещён: 12.11.2009 04:379 плюса
Кайенна хорошо послужила мне. Относительно легко понять и запустить его. Я считаю, что обратная инженерия особенно очаровательна. Конфигурация может быть выполнена с графическим интерфейсом.
Автор: Benno Richters Размещён: 17.11.2008 08:366 плюса
Я могу предложить apache empire-db. http://incubator.apache.org/empire-db/
Apache Empire-db - это компонент персистентности реляционных данных с открытым исходным кодом, который позволяет независимому поставщику базы данных определять динамические запросы, а также обеспечивает безопасный и простой поиск и обновление данных. По сравнению с большинством других решений, таких как реализации Hibernate, TopLink, iBATIS или JPA, Empire-db использует значительно иной подход, уделяя особое внимание безопасности во время компиляции , сокращению избыточности и повышению производительности труда разработчиков.
Пример:
// Define the query
DBCommand cmd = db.createCommand();
DBColumnExpr EMPLOYEE_FULLNAME= db.EMPLOYEES.LASTNAME.append(", ")
.append(db.EMPLOYEES.FIRSTNAME).as("FULL_NAME");
// Select required columns
cmd.select(db.EMPLOYEES.EMPLOYEE_ID, EMPLOYEE_FULLNAME);
cmd.select(db.EMPLOYEES.GENDER, db.EMPLOYEES.PHONE_NUMBER);
cmd.select(db.DEPARTMENTS.NAME.as("DEPARTMENT"));
cmd.select(db.DEPARTMENTS.BUSINESS_UNIT);
// Set Joins
cmd.join(db.EMPLOYEES.DEPARTMENT_ID, db.DEPARTMENTS.DEPARTMENT_ID);
// Set contraints and order
cmd.where(EMP.LASTNAME.length().isGreaterThan(0));
cmd.orderBy(EMP.LASTNAME);;
Автор: Somatik
Размещён: 11.01.2011 09:20
2 плюса
ORMAN Framework это тоже хорошо. https://github.com/ahmetalpbalkan/orman
Документация: https://github.com/ahmetalpbalkan/orman/wiki
Сравнение: https://github.com/ahmetalpbalkan/orman/wiki/Why-orman-is-better-than-other-orms-for-you%3F
Автор: AhmetB - Google Размещён: 03.08.2011 06:002 плюса
Возможно, я немного опоздал на вечеринку, но я выпустил ActiveJDBC в 2010 году, который представляет собой реализацию шаблона ActiveRecord в ORM, более чем в 10 раз легче, чем Hibernate в зависимостях, по крайней мере в два раза быстрее во время выполнения и требует нулевой настройки или аннотации.
Автор: ipolevoy Размещён: 07.04.2012 09:321 плюс
Возможно, вы захотите взглянуть на prevayler (на sourceforge). Несколько более легкий подход к постоянству. Или ты думал о составлении отчетов по БД?
Автор: Stephan Eggermont Размещён: 17.11.2008 08:371 плюс
Если использование реляционной базы данных не обязательно, попробуйте db4o.
Автор: Behrang Размещён: 16.02.2011 12:351 плюс
Я создал Сормулу как альтернативу тяжеловесным ОРМ. Это CRUD-готов, POJO-дружественный, простой в использовании, настройке и понимании. Возможно использование нулевой конфигурации. www.sormula.org
Автор: Jeff Miller Размещён: 10.12.2011 03:02-2 плюса
Kiteframework также очень легкий каркас. Он обеспечивает почти все операции с БД с минимальными настройками.
http://deipakgarg.github.com/Kite-ORM/
Раскрытие: я являюсь автором этого проекта
Автор: DeipakGarg Размещён: 19.11.2012 06:30Вопросы из категории :
- java В чем разница между int и Integer в Java и C #?
- java Как я могу определить IP моего маршрутизатора / шлюза в Java?
- java Каков наилучший способ проверки XML-файла по сравнению с XSD-файлом?
- java Как округлить результат целочисленного деления?
- java Преобразование списка <Integer> в список <String>
- database Двоичные данные в MySQL
- database Обменять уникальные индексированные значения столбцов в базе данных
- database Как работает индексация базы данных?
- database Как индексировать столбец базы данных
- database Насколько большой может быть база данных MySQL до того, как производительность начнет снижаться
- hibernate Как вы «ИЛИ» критерии вместе при использовании запроса критериев с Hibernate?
- hibernate пакет вставки спящего режима с разделенным postgresql
- hibernate Как избежать предупреждений о безопасности типа с результатами Hibernate HQL?
- hibernate Каковы различия между различными методами сохранения в Hibernate?
- hibernate Hibernate: hbm2ddl.auto = обновление в производстве?
- sqlite Как вывести данные некоторых таблиц SQLite3?
- sqlite Как я могу объединить многие базы данных SQLite?
- sqlite Как узнать, уникален ли индекс SQLite? (С SQL)
- sqlite Легкая альтернатива Hibernate?
- sqlite Почему я не могу установить гем SQLite?