ПредишенСледващото

InterfeysQuery има следните методи:

списък () - изпълнява заявка, резултатът се връща в колекцията на списък;

executeUpdate () - за извършване заличавания, променя, приложим за много обекти;

. Session.createQuery ( "изтриване от компания, където статус = 'затворен") executeUpdate ();

setString (индекс на междинно съединение, String стойност). setDate (), и т.н. ... -
определя параметъра на заявката на индекса;

session.createQuery ( "изтриване от компания, където статус =?") setString (0, "затворен") executeUpdate () ..;

Можете също да зададете името на параметъра:

session.createQuery ( "изтриване от компания, където статус =: стат") setString ( "стат", "затворен") executeUpdate (); ..

обхождане () - връща итератор за резултатите от запитването

. Iterator го = createQuery ( "от фирма") обхождане ();

Дълголетни обекти и колекции (Постоянни обекти и колекции) - е еднонишкови, краткотрайно предмети, съдържащи устойчиви състояние
и бизнес функции. То може да бъде нормален JavaBean / POJO (Plain Old Java Objects) обекти, тяхната отличителна черта - е, че те са свързани с една сесия (Session). След като си сесия е затворен, тези обекти се отделят и да имат свободата да използват по какъвто и приложния слой, например, директно като трансфер на данни протестира срещу представянето слой, а заедно с него.

Временни обекти и колекции (Преходно обектите и колекциите) - са случаи на постоянни класове, които не са свързани в момента
със сесия (Session). Това може да е предмети, създадени от заявлението, и в момента все още не е преведена на дългогодишно състояние.

Транзакциите net.sf.hibernate.Transaction - еднократна резба краткотрайно обект, използван от приложението да се уточни атомни единици работа. Той извлича приложението от основната JDBC, JTA или CORBA сделка. В някои случаи една сесия (Session) може да доведе до няколко сделки:

ангажират () - улавя сделка на база данни;

намаление на цените () - принуждаване на сделката да се върна.

Интерфейс net.sf.hibernate.connection.ConnectionProvider на предоставяне на съединения фабриката и басейн за JDBC-връзки. Тя извлича приложението от основните DATASOURCE предмети или DriverManager. Хибернация вътрешен обект, не е на разположение за прилагане, но може да бъде удължен или изпълнени от строителя. методи:

близо () - освобождава всички ресурси, притежавани от връзките на доставчика;

closeConnection (Свързване Conn) - затваря съединение;

конфигуриране (свойства подпори) - инициализира съединенията от предавани свойства на доставчика.

Транзакциите Фабрика net.sf.hibernate.TransactionFactory - фабрика за транзакции случаи на класа. Хибернация вътрешен обект, не е на разположение за прилагане, но също така може да бъде удължен или изпълнени от строителя.

beginTransaction (SessionImplementor сесия) - започва сделка и се връща на обекта.

Най-простото прилагане на горните класове, обявени за добавяне
сървлет реализации generateAndExecuteCreationScript () методи
и createProperties () е както следва:

/ * Пример # 5: Просто използвайте заспиване. MainServlet.java * /

Script е генериран

Script е генериран

Очевидно е, че ако сървлет за всеки достъп до нея ще бъде пресъздаден SessionFactory обект, този процес е твърде времеемко от гледна точка на ефективността на системата, както и от гледна точка на предприемача в по-нататъшното разширяване на системата на. Затова трябва да се създаде клас, чиято задача ще бъде да се създаде и инициализира необходимите съоръжения за конфигуриране, SessionFacroty и един от методите на класа, ще се върнат на готовия обект сесия. Ето защо, в метода на сървлета за показване на съдържанието на таблиците в базата данни на екрана можете да използвате сесия възрази готов и навън, за да заредите параметрите на интереси.

Използвайки горния дадена последователност, за да се инициализира картографиране-файл и да манипулират правилно свързването към базата данни е създадена ConnectionFactory клас. Установено е, че в някои версии на хибернация, въпреки директивата autoReconnect = вярно. автоматично повторно свързване към базата данни се случва за втори път, което означава, че връзката се случи веднага, но там е изключение от невъзможността да се свърже с базата данни.

/ * Пример # 8: Инициализация картографиране и свързване на базата данни:

Този клас проверява връзката с базата данни и съхранява на инспекцията. Ако по време на проверка на класа на "празен ход" за повече от 10 минути, той се завръща към базата данни. В случай на отстраняване предотвратява течове клас памет. Въпреки, че на хибернация, разполага със средства за премахване на необходимостта да се свърже всеки hbm.xml файл поотделно, е по-добре да го направите ръчно, за да се избегне по-горе грешка.

Този клас дръжки грешките, които възникват в практиката, когато се работи в хибернация, JDBC драйвер за MySQL и MySQL сървър на база данни.

Взаимодействието с базата данни

Когато се работи с функциите за манипулация на база данни удобно с обекти, за да се съберат заедно и да се създаде мениджъри на транзакции.

/ * Пример # 9: инициализация на картографиране и свързване на базата данни. StudentDAO.java * /

обществени клас StudentDAO

// проверка за съществуването на записи в базата данни

публично статично булеви studentExists (String вход)

Студентски _student = нула;

// създаване на заявка база данни

"От студент където a.login =: в акаунта");

/ * Този метод позволява да се получат уникални резултати. Необходимо е да се сигур-чит уникални резултати на ниво база данни, ако се използва тази функция * /

_student = (Student) query.uniqueResult ();

> Улова (HibernateException д)

SessionFactory клас се отнася за класовете за нишка безопасно, така че това е обикновено обектът ще бъде създаден веднъж и се съхранява в статична променлива. Ако има проблеми с басейна на свързване на база данни с
с освобождаването на ресурси, които се съхраняват в SessionFactory на обекта. тя може да се наложи да се подкрепи по-горе подход.

два подхода се използват за управление на сесията:

Сесия за всяка операция на база данни, а сесия на искане в контекста на дадена сделка.

От версия 3.1, хибернация в нов параметър hibernate.current_session_context_class. което може да отнеме една от трите стойности на късо ", JTA", "нишка" и "управлява",
или класове, които прилагат интерфейс org.hibernate.context.CurrentSessionContext и ще отговарят за отваряне / затваряне на сесията.

Ако този параметър се задава в конфигурационния файл, сценарият за сесията трябва само да се извика методът SessionFactory.getCurrentSession (), която връща или вече свързани към даден контекст сесия или да създадете нов.

Разположен на имотите в конфигурационния файл

нишка deleteStudent () метод може да бъде пренаписана, както следва.

публично статично невалидни deleteStudent (Student _student)

Транзакция TX = нула;

> Улова (HibernateException д)

В този случай, за контрол на връзка се извършва клас org.hibernate.context.ThreadLocalSessionContext, който ще се използва връзката, докато beginTransaction () метод не е било изискано,
и съответно освобождава връзката, когато поканата извършване () метод или намаление на цените ().

Изчерпване на Apache Ant

За да започнете проекта изпод Apache Ant, трябва папки на проекта са организирани, както следва:

build.xml файл служи като ръководство за действие за Ant. Първоначално, тя трябва да изглежда така:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!