| Виды программирования, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
передача данных из апплета путь к файлу 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 ?
- Что такое 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?в гугле смотрел - толком ничего не нашел ...Спаибо! |