View Full Version : [Java] Cos'è hibernate?
Abdujaparov
12-07-2008, 14:53
Salve a tutti, sto cercando di capire cos'è hibernate, pensavo di aver
capito qualcosa ma invece nulla.
A quanto so è un modo per effettuare query (insert, update, select)
verso un db andando semplicemente a modificare delle classi che
rappresentano le tabelle del nostro schema della base dati, ho capito
bene?
Ho scaricato dal sito www.hibernate.org il pacchetto core e stavo
leggendo la guida solo che non è che ci stia capendo molto.
Per utilizzare hibernate devo necessariamente avere un'applicazione
web ejb? Non posso utilizzare hibernate in un'applicazione stand-alone
per i fatti suoi?
Dove posso trovare qualche guida molto semplice per cominciare a
muovere i primi passi con hibernate e provare qualcosa?
Grazie a tutti, ciao ciao.
A quanto so è un modo per effettuare query (insert, update, select)
verso un db andando semplicemente a modificare delle classi che
rappresentano le tabelle del nostro schema della base dati, ho capito
bene?
In maniera moooolto semplicistica diciamo che è più o meno quello che fa.
Più precisamente è un framework che fornisce un servizio di ORM (Object Relational Mapping) (http://it.wikipedia.org/wiki/Object-relational_mapping).
Per un chiarimento un po' più discorsivo ti rimando a wikipedia (http://it.wikipedia.org/wiki/Hibernate).
Per utilizzare hibernate devo necessariamente avere un'applicazione
web ejb? Non posso utilizzare hibernate in un'applicazione stand-alone
per i fatti suoi?
Non necessariamente web, ma sicuramente J2EE, in quanto per maneggiare i database hai bisogno di JDBC; in più Hibernate si basa sul concetto di Bean persistente
Dove posso trovare qualche guida molto semplice per cominciare a
muovere i primi passi con hibernate e provare qualcosa?
Grazie a tutti, ciao ciao.
Beh, direi che per i primissimi passi puoi seguire il tutorial (http://www.hibernate.org/hib_docs/v3/reference/en/html/tutorial.html) fornito nella documentazione (http://www.hibernate.org/hib_docs/v3/reference/en/html/) di Hibernate stesso (che ti invito a leggere e nella quale troverai altri esempi pratici).
Per averne altri ti basterà una ricerca su google (ce ne sono a decine).
Per quanto riguarda l'utilizzo in fase di produzione (quando avrai ben capito il funzionamento di base), ti consiglio di risparmiare i tempi necessari alla creazione dei file di mapping xml, utilizzando uno dei molti strumenti automatici che se ne occupano (Hibernate Annotations (http://www.hibernate.org/hib_docs/annotations/reference/en/html/), plugin per il tuo IDE, pre-compilatori, ...).
jdbc c'è anche nella SE
Hai ragione, scusa. :flower:
Ti basta J2SE 1.4 (se vuoi usare le annotations ti serve la 5.0)
Abdujaparov
19-07-2008, 11:31
Ciao, stavo leggendo Hibernate Annotations e mi sono ritrovato questa classe che consigliavano di implementare:
package hello;
import org.hibernate.*;
import org.hibernate.cfg.*;
import test.*;
import test.animals.Dog;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new AnnotationConfiguration()
configure().buildSessionFactory();
} catch (Throwable ex) {
// Log exception!
throw new ExceptionInInitializerError(ex);
}
}
public static Session getSession()
throws HibernateException {
return sessionFactory.openSession();
}
}
Solo che c'è un problema non trovo da nessuna parte la classe SessionFactory, ho importato in eclipse tutti i jar di hibernate 3.2.6, di hibernate annotations 3.3.1, tutti i jar di hibernate validator e search ma non cambia nulla, la classe non viene trovata da nessuna parte, com'è possibile?
Grazie, ciao ciao.
Non vorrei distruggere le tue speranze, ma forse un ORM (hibernate poi) non è la soluzione più semplice ai tuoi problemi.
Se ne è discusso recentemente su reddit, ed è venuto fuori un thread interessante.
http://www.reddit.com/info/6sbua/comments/
Se vuoi un framework di database mapping che non ti metta troppo i bastoni fra le ruote, ti consiglio di dare un'occhiata a iBATIS.
chiesi la stessa cosa ad un amico che odia Java e mi disse: "hibernate è per chi non sa fare le query" :D
Abdujaparov
19-07-2008, 12:57
Ciao, purtroppo non scelgo io cosa usare mi devo adeguare e quindi mi serve hibernate :)
Grazie, ciao ciao.
[...] non trovo da nessuna parte la classe SessionFactory, ho importato in eclipse tutti i jar di hibernate 3.2.6, di hibernate annotations 3.3.1, tutti i jar di hibernate validator e search ma non cambia nulla, la classe non viene trovata da nessuna parte, com'è possibile?
Prova a riscaricare tutto, perchè la cosa è molto strana: la classe org.hibernate.SessionFactory si trova nel file hibernate3.jar, ovvero nel jar principale con cui è distribuito il core di hibernate.
Ciao, purtroppo non scelgo io cosa usare mi devo adeguare e quindi mi serve hibernate :)
Grazie, ciao ciao.
Il purtroppo e' perche non scegli tu.
hibernate e altre soluzioni simili non sono per forza un danno.
Abdujaparov
20-07-2008, 16:12
Ciao nella mia directory lib di hibernate 3.2.6 non c'è nessun file hibernate3.jar :( ora riscarico tutto e vediamo.
Per quanto riguarda il purtroppo era riferito al fatto che non scelgo io, non a hibernate o altro :).
Grazie, ciao ciao.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.