Хотите пользоваться преимуществами (и недостатками) авто-обновления схемы БД при использовании Hibernate, но у вас имеется multi-tenant архитектура? Добро пожаловать под кат.
Читать полностью »
Рубрика «hibernate» - 4
Hibernate, multi-tenancy и авто-обновление схемы БД
2015-03-06 в 9:41, admin, рубрики: envers, hibernate, java, multi-tenancy, postgresqlHibernate: ленивая загрузка, наследование и instanceof
2015-02-16 в 16:02, admin, рубрики: hibernate, instanceof, java, наследование, ооп, слои абстракцийРассмотрим, в качестве примера, следующую ситуацию. У нас имеется класс User с полями, описывающими пользователя. Имеется класс Phone, который является родительским для классов CellPhone и SatellitePhone. В классе User есть поле содержащее список телефонов пользователя. В целях уменьшения нагрузки на БД мы сделали этот список «ленивым». Он будет загружаться только по требованию.
public class User {
...
@OneToMany(fetch = FetchType.LAZY)
private List<Phone> phones = new ArrayList<Phone>();
public List<Phone> getPhones() {
return phones;
}
}
public class Phone {
...
}
public class CellPhone extends Phone {
...
}
public class SatellitePhone extends Phone {
...
}
В такой конфигурации при запросе списка телефонов конкретного пользователя мы можем получить как список проинициализированных объектов-телефонов (например, если они уже есть в кэше), так и список proxy-объектов.
В большинстве ситуаций нам не важно с чем именно мы работаем (реальным объектом или его proxy). При запросе какого-либо поля какого-либо объекта — proxy-объект автоматически проинициализируется, и мы получим ожидаемые данные. Но если нам нужно узнать тип объекта, то все идет наперекосяк.
Читать полностью »
Spring — Hibernate: ассоциация один ко многим
2015-01-28 в 9:22, admin, рубрики: first steps, hibernate, java, spring, переводПродолжаем цикл статей — переводов по Spring и Hibernate, от krams.
Предыдущая статья:
«Spring MVC 3, Аннотации Hibernate, MySQL. Туториал по интеграции».
Введение.
В этом уроке мы познакомимся с использованием отношения один ко многим, используя аннотации Hibernate и Spring MVC 3. Мы будем использовать аннотоцию @OneToMany для указания отношений между нашими объектами. Мы не будем использовать каскадные типы или fetch-стратегии, вместо этого мы воспользуемся стандартными настройками @OneToMany.
Что такое ассоциация один-ко-многим?
Ассоциация один-ко-многим возникает тогда, когда каждой записи в таблице А, соответствует множество записей в таблице Б, но каждая запись в таблице Б имеет лишь одну соответствующую запись в таблице А.
Спецификация нашего приложения.
Приложение является простой CRUD системой управления списком записей. Каждая запись соответствует одному лицу, она содержит персональные данные и данные о кредитной карте. Каждое лицо может владеть несколькими кредитками. Так же мы добавим систему редактирования лиц и кредиток.
Ниже приведены скриншоты из будущего приложения:
Spring MVC 3, Аннотации Hibernate, MySQL. Туториал по интеграции
2015-01-22 в 9:04, admin, рубрики: first steps, hibernate, java, mysql, spring, переводНе так давно я начал изучать фреймворк Spring и понял, что количество материала на русском языке ограниченно буквально парой стоящих статей. По быстрому пробежав, я захотел сделать что-то более интересное, но с наскоку взять не удалось. Пришлось погуглить по поводу нескольких вопросов касательно взаимодействия Spring и Hibernate. Неожиданно я наткнулся на блог достаточно интересного разработчика Mark Serrano aka krams. Теперь вместе с вами я хотел бы начать цикл статей-переводов, а так же свое обучение в мире Spring.
Приступим…
Читать полностью »
Conditional indexing. Оптимизируем процесс полнотекстового поиска
2015-01-14 в 14:54, admin, рубрики: Apache, apache lucene, hibernate, java, оптимизация 
В этой статье я хочу поговорить про интеграцию Apache Lucene и Hibernate Search. Если быть более точным, то про один из механизмов Hibernate Search, который может здорово увеличить производительность на проекте с полнотекстовым поиском.
Читать полностью »
Пошаговая разработка веб-приложения
2014-09-23 в 6:25, admin, рубрики: annotations, apache maven, client-server, css, dao, extjs, extjs mvc, framework, hibernate, intellij idea, java, java developing, javascript, jpa, JSP, mac os x, mvc, mysql, patterns, Servlet, spring framework, Spring MVC, sql, tomcat, validation, web-разработка, XML, Библиотека ExtJS/Sencha, Веб-разработка, ПрограммированиеПри устройстве на работу java программистом меня попросили написать тестовое web приложение «Телефонный справочник». Хочу поделиться с вами этим «шедевром».
Вид и функциональность приложения
- Добавление;
- Удаление;
- Поиск;
- Валидация данных.
Вычисление имен свойств во время выполнения в языке Java
2014-05-19 в 18:59, admin, рубрики: hibernate, java, метки: hibernate Некоторые инструменты могут использовать имена свойств виде значений типа String. Обычно они существуют как константы, заданные литералами. Что же не так? А вот что: во время рефакторинга имена свойств могут измениться, более того, свойства могут вообще исчезнуть. А в константах останутся старые, неактуальные значения.
Можно понадеяться на внимание уставшего разработчика, или на ненаписанные тесты. Но есть более надежный способ.
Читать полностью »
F.A.Q. по Java-конференции JPoint 2014
2014-02-19 в 3:54, admin, рубрики: concurrency, hibernate, java, jpoint, jvm, Блог компании CodeFreeze, метки: concurrency, hibernate, java, jpoint, jvm«Эпиграф
Конференция JPoint — реальный явский хардкор, по локоть в кровище.
Дима Завалишин, http://dz.livejournal.com/878711.html
Что? Где? Когда?
В пятницу, 18 апреля, в Москве пройдёт Java-конференция JPoint для Middle/Senior-разработчиков. В программе — доклады от ведущих специалистов, представляющих компании Oracle, Одноклассники, Deutsche Bank, JetBrains, Devexperts и др.
Повторяющийся набор полей в Hibernate
2013-05-23 в 15:00, admin, рубрики: hibernate, java, Песочница, метки: hibernate, java 
Проблему, решения которой я сегодня хотел бы описать — это повторяющийся набор полей в Hibernate сущностях. Конечно, её можно было бы решить с помощью нормализации БД, но это неудобно при выборках и влияет на быстродействие, лишние джойны ради нескольких колонок — никому не нужны.
Итак, представим, есть какая-то система учёта, в ней в любой сущности важно хранить историю, кто менял, кто создавал, когда были последние изменения, кем созданы. На самом деле в любом проекте можно найти подобные наборы и не один. В результате, когда программисты создают эти поля, в лучшем случае получается копипаст, а иногда рождаются новые названия для тех же полей.
Я хотел бы рассмотреть два способа решения этой задачи.
Читать полностью »
Разработка веб приложения на основе Java EE+JSP+Hibernate+Maven+Spring MVC в NetBeans. Часть 1
2013-05-06 в 8:12, admin, рубрики: hibernate, java, JSP, maven, Spring MVC, svn, Веб-разработка, метки: hibernate, JSP, maven, Spring MVC, svnВступление
Это будет серия статей, помогающих начинающим Java разработчикам в их нелегком пути. Покажу пример создания интернет магазина.
Первое что вам понадобится — это NetBeans 7.3. Скачать можно здесь.
Почему именно он? Думаю для начинающих в ЕЕ — это идеальный вариант.
Используемые технологии:
Читать полностью »

