Виды программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

передача данных из апплета
путь к файлу
Java + Ms Sql Server
Перегрузка операторов
JavaOS, about JavaOS
где взять CLDC для J2me - на сайте Sun не дают, CLDC download
Как Вы относитесь к курящим девушкам?
Прежде чем задать вопрос, прочтите это!
Документация и книги по Java, Давайте соберём ссылки
Трабла в Linux, Помогите пожалуйста
Java vs. C, Как вы думаете что лучше C или Java
Java ICQ applet. Как это сделано?, Хотелось бы уяснить основные принципы
Канва в Яве, Как вычеслить?
JDBC drivers , ClassPath, Регистрация JDBC драйверов
Предпочитаемый IDE
javap, big problem
tomcat-3.2.1
перекодировка строк из UTF-8 в KOI8-R, перекодировка строк из UTF-8 в KOI8-R
mouse wheel fix
NetBeans3.3, Help to find manual
Eclipse и CDT, Что такое CDT
Сервлеты, JSP, WebApplication
jdk1.4, куда девался javac
Имитация нажатия клавиши в Java
Имя компьютера
JTree, JTree без создания объектов DefaultMutab
jdbc connection + fonts in jDeveloper
Static Menu
Как заставить JScrollPane отображать верхнюю ...
Как заставить JScrollPane отображать верхнюю ...
RMI, RMI & DB
Java & SNMP, Опрос устройств из Java по протоколуSNMP
открытие URL из апплета
Вопрос по cocoon2
JComboBox в JTableHeader
java3D, ERROR: Canvas3D constructed with a null
Вопрос!!, Как написать...
получение информации о устройстве., получение информации о устройстве
ПОМОГИТЕ!, составление програмы
Java & Perl, Java & Perl
нужна прога$$$, нужна прога$$$
Здравствуйте., Рисование в окне апплета.
Getting started..., Слоны идут на север
biblioteki vektornoj grafiki k SWING
Как Вы относитесь к курящим девушкам?
Прежде чем задать вопрос, прочтите это!
Работа с Threads. Давайте разберёмся, Получиться неплохой компонент.
Документация и книги по Java, Давайте соберём ссылки
Каким IDE вы пользуетесь, при программировании на Java
Бесплатное ПО на Java
Каким компилятором вы пользуетесь
Прежде чем задать вопрос, прочтите это!
FAQ по JAVA, Вопросы и ответы
JNI и потоки
Как "поженить" эклипсу с ant'ом?, Или делать JAR напрямую в эклипсе?
Вопрос о возможностях JBuilder2005
Eclipse - проект со своим разбросом файлов, по package'ам
Код неправильно читает файл
JBuilder2005 & XDoclet, как-бы срастить вместе?
Что такое hibernate ?
Hibernate & BLOB DB field, подскажите - во что выливается BLOB
разработка плагина под еклипсе.., у кого-нибудь есть опыт?
jar в IDEA
Программное представление HTML элементов, существует ли в природе?
Проблема при запуске программы, Помогите
добавление библиотеки mail, Использую NetBeans
генерация SHA подписи, при build-е проекта (eclipse/ant)
build большого проекта, eclipse
BufferedImage
Посоветуйте framework!, Нужен framework для создании выборок

Платные хостинги     Раскрутка сайта     Книги по программированию


Что такое hibernate ?

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Что такое hibernate (из соседней темы ) ?

- Hibernate - Object-Relational XML-based persistenceПозволяет проецировать классы с помощью XML на таблицы базы данных Это сообщение отредактировал Шмель - 14.10.2004, 12:58

- ПримерЭто map-xmlКод <?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"><hibernate-mapping>    <class        name="forum.orm.Subject"        table="subject"        dynamic-update="false"        dynamic-insert="false"    >        <id            name="id"            column="id"            type="java.lang.String"        >            <generator class="uuid.hex">            </generator>        </id>        <property            name="subjName"            type="java.lang.String"            update="true"            insert="true"            column="subj_name"        />        <set            name="topics"            lazy="false"            inverse="false"            cascade="all"            sort="unsorted"            order-by="date_time_posted"        >              <key                  column="subj_id"              />              <one-to-many                  class="forum.orm.Topic"              />        </set>        <property            name="description"            type="java.lang.String"            update="true"            insert="true"            column="subj_description"        />        <!--            To add non XDoclet property mappings, create a file named                hibernate-properties-Subject.xml            containing the additional properties and place it in your merge dir.        -->    </class></hibernate-mapping>highlightSyntax('javaM0Mzhk','java');А это то, с чем будем работатьКод package forum.orm;import java.io.Serializable;import java.util.Set;import org.apache.commons.lang.builder.EqualsBuilder;import org.apache.commons.lang.builder.HashCodeBuilder;import org.apache.commons.lang.builder.ToStringBuilder;/** *  @hibernate.class *   table = "subject" */public class Subject implements Serializable {    /** identifier field */    private String id;    /** nullable persistent field */    private String subjName;        private Set topics;        private String description;    /** full constructor */    public Subject(String subjName) {        this.subjName = subjName;    }    /** default constructor */    public Subject() {    }    /**     * @hibernate.id     *  column = "id"     *  generator-class = "uuid.hex"  */ public String getId() {        return this.id;    }    public void setId(String id) {        this.id = id;    }    /**     * @hibernate.property     *  column = "subj_name"  */ public String getSubjName() {        return this.subjName;    }    public void setSubjName(String subjName) {        this.subjName = subjName;    }    public String toString() {        return new ToStringBuilder(this)            .append("id", getId())            .toString();    }    public boolean equals(Object other) {        if ( !(other instanceof Subject) ) return false;        Subject castOther = (Subject) other;        return new EqualsBuilder()            .append(this.getId(), castOther.getId())            .isEquals();    }    public int hashCode() {        return new HashCodeBuilder()            .append(getId())            .toHashCode();    } /**  * @hibernate.set  *  cascade = "all"  *  order-by = "date_time_posted"  * @hibernate.collection-key  *  column = "subj_id"  * @hibernate.collection-one-to-many  *  class = "forum.orm.Topic"  */ public Set getTopics() {  return topics; } /**  * @param set  */ public void setTopics(Set set) {  topics = set; } /**  * @hibernate.property  *  column = "subj_description"  */ public String getDescription() {  return description; } /**  * @param string  */ public void setDescription(String string) {  description = string; }}highlightSyntax('javaA3YzFh','java');забыл добавить.@hibernate - тэг XDoclet, после обработки которым получим map-xml по одному на каждый нужный класс Это сообщение отредактировал Шмель - 14.10.2004, 14:22

- Я например под спроектированную в PowerDesigner-е БД автоматически получаю готовую библиотеку для работы с ней, делаю экспорт базы в XML, применяю к полученному XML уже сделанный XSLT шаблон и получаю mapping для hibernate, таким образом базовая библиотека для реализации логики уже готова, и не надо никаких SQL запросов писать.

- Прикольная вещь. ;)

- модет и прикольная. но ниче не понял. в каких случаях лучше "hebirnate", а в каких по запросам строить?

- Насколько я понял, hibernate - альтернатива EJB?

- в приведенном - не увидел ни одного запроса.А потом - исскуство писаниниы SQL еще никто не отменял. И я не уверен что хибернейт знает о структуре БД что-то больше, чем разработчик ..."экспорт базы в XML, применяю к полученному XML уже сделанный XSLT шаблон и получаю mapping для hibernate, таким образом базовая библиотека для реализации логики уже готова, и не надо никаких SQL запросов писать" - вот это и не понятно. совсем. часто для получения удобоворимого результата по времени и данным приходится варировать как источники данных, так вплодь до синтаксиса самого запроса.Если конечно все на уровне select t1.*, t2.* from table1 t1, table2 t2 where t1.id=t2.id - то тогда я понимаю ... а если копать гораздо глубже? где выясняется что ф. лучше селекта, или серект через пару-тройку таблиц лучше прямого селекта из одной таблицы? не. не понимаю, право слово ...Как это тогда получается? Это сообщение отредактировал Sleepy_PIP - 26.12.2004, 20:33

- Суть hibernate в том, что она превращает реляционную БД в объектно-ориентированную. Это полная виртуализация хранения объектов - если hibernate нормально установлен и сконфигурирован, то внутри программы вы просто даёте ему объект в каком-то месте программы - и забываете о нём. Когда вам понадобилась ссылка на этот объект снова - просто запрашиваете объект у hibernate - и он вам его даёт. hibernate сам решает - класть его в БД или хранить в памяти - на основании частых или не очень вопросов к нему. Пользователя hibernate это ни коем образом не волнует - он работает только с API Hibernate. Пользователя даже вообще не должно волновать - в БД его объект, просто на винчестере сериализован, в памяти или где-то ещё - это полностью забота hibernate и определяется тем, кто его конфигурит и админит. Hibernate может и сам таблицы под любой передаваемый ему объект делать - при правильной настройке. Вот уже настройка hibernate - дело сложное...SQL и Hibernate - это как С++ и Java - просто более высокий уровень взаимодействия ООП-Приложения с Базой Данных. Вопрос об оптимальности самого Hibernate - такой же больной, как и вопрос об оптимальности JVM. Но сам факт того, что программист не думает о том, как его объекты хранятся - сильно облегчает работу и позволяет лучше сосредоточится на бизнес-логике. :-) Это сообщение отредактировал Се ля ви - 18.1.2005, 16:49

- как Hibernate соотносится с ejb -это другой подход?спасибо

- Нет, это не другой подход.CMP ( Container Managed Persistence ) во многих контейнерах реализуется при помощитой или иной ORM а сдругой стороны вы тоже можете использовать ORM для реализации BMP (Bean Managed Persistence )

- Кошмар. Советую внимательно посмотреть в сторону XDoclet. Добавил в JavaDoc (вы ведь документируете ваш код? ) пару атрибутов, и задание в Ant - и все, все маппинги будут создаваться автоматом.Цитата как Hibernate соотносится с ejbHibernate - это механизм сохранения состояния объектов. EJB - это наворочнный RMI (удаленный вызов процедур) с кучей наворотов (транзакции, авторизация, кластеризация, .....). Ребята из hibernate предлагают вместо CMP юзать BMP с hibernate движком.Цитата И я не уверен что хибернейт знает о структуре БД что-то больше, чем разработчик ...хибернейт может знать больше разработчика о том как лучше составить запрос (могу ошибаться)Цитата исскуство писаниниы SQL еще никто не отменялА никто и не запрещал самому писать запросы (на HQL или нативном SQL), если выясняется, что хибернейтовская реализация - узкое место. Вопрос в том - насколько часто возникают такие вещи и насколько разработчик может улучшить результат таким образом.

- Обязательно посмотрюЦитата (Zandr @ 26.4.2005, 06:38)ЦитатаИ я не уверен что хибернейт знает о структуре БД что-то больше, чем разработчик ...хибернейт может знать больше разработчика о том как лучше составить запрос (могу ошибаться)ИМХО он просто избавляет от рутинной низкоуровневой работы, всё же в ООП легче работать с обьектной БДЦитата (Zandr @ 26.4.2005, 06:38)Цитатаисскуство писаниниы SQL еще никто не отменялА никто и не запрещал самому писать запросы (на HQL или нативном SQL), если выясняется, что хибернейтовская реализация - узкое место. Вопрос в том - насколько часто возникают такие вещи и насколько разработчик может улучшить результат таким образом.Я всю SQL-ную часть стараюсь выкидывать на сторону БД при помощи view, думаю что не совсем правильно когда код содержит SQL запросы, от этого читаемость кода заметно понижается. Это сообщение отредактировал 3,14 - 26.4.2005, 11:46

- Во многом согласен, конечно, но хранимые процедуры и вьюшки поддерживаются не всеми БД. Если нужна портируемость, то звиняйте.

- Граждане! извините зща глупый вопрос:А где-б нарыть как можно больше примеров по Hibernate?в гугле смотрел - толком ничего не нашел ...Спаибо!

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование 1с предприятие | язык программирования pascal | виды программирования | программирование процессоров | язык программирования 1с | программирование assembler | методология программирования | прикладное программирование | программирование turbo pascal | парадигмы программирования | удаленная программирование | программирование управления | справочник программирования | задачи математическому программированию | методики программирования | программирование outlook | компьютерное программирование | программирование деревья | высокоуровневое программирование | программирование delphi скачать | программирование сигнализации | теория языков программирования | программирование микропроцессоров | обоснование языка программирования | программирование win32 | Ссылки

Все про программирование управления