Hibernate. (mapping)
. net.sf.hibernate.cfg.Configuration.
private Configuration createConfiguration()
throws ClassNotFoundException, MappingException {
Configuration configuration =
new Configuration().addClass(Class.forName("courses.hiber.Course"))
.addClass(Class.forName("courses.hiber.Student"));
return configuration;
}
courses.hiber.Course courses.hiber.Student ( , mapping- Hibernate). Hibernate mapping , . mapping, , jar-, org.dom4j.Document. addClass() Configuration, . , .
Hibernate . SchemaExport mapping ,
(c:/temp/courses_script.sql) SQL-.
private void generateAndExecuteCreationScript(Configuration configuration, Properties properties) throws HibernateException {
SchemaExport export = new SchemaExport(configuration, properties);
export.setOutputFile("c:\\temp\\courses_script.sql").create(true, true);
}
create(true, true) script- ( true), ( true).
Session , Course Student. SessionFactory , mapping , Session.
1. SessionFactory
SessionFactory factory = new Configuration().configure().buildSessionFactory();
configure() Configuration
Configuration Hibernate;
2.
Session session = factory.openSession();
3. course student.
Hibernate-. SQL, - , .
List courses = session.find("from Course");
List students = session.find("from Student");
4. .
session.close();
net.sf.hibernate.SessionFactory :
openSession() . , ;
|
|
close() SessionFactory , .
net.sf.hibernate.Session , , , . , - JDBC-. Transaction.
load(Class theClass, Serializable id) ;
load(Object object, Serializable id) , ;
save(Object object [, Serializable id]) . , ;
update(Object object [, Serializable id]) , , ;
saveOrUpdate(Object object) ;
get(Class class, Serializable id) , null, ;
delete(Object object) ;
delete(String query) , . delete(String query,
Object[] objects, Type[] types);
Transaction beginTransaction()
.
org.hibernate.Query. Session:
session.createQuery(from Company)
Query :
list() - , List;
session.createQuery(from Company).list();
executeUpdate() , , ;
session.createQuery(delete from Company where status =closed).executeUpdate();
setString(int index, String value), setDate() . .
;
session.createQuery(delete from Company where status =?).setString(0, closed).executeUpdate();
:
session.createQuery(delete from Company where status =:stat).setString(stat, closed).executeUpdate();
iterate() - Iterator
Iterator it = createQuery(from Company).iterate();
(Persistent Objects and Collections) , ,
-. JavaBean/POJO (Plain Old Java Objects) , , (Session). , , , .
(Transient Objects and Collections) ,
(Session). , .
|
|
net.sf.hibernate.Transaction , , . JDBC, JTA CORBA . (Session) :
commit() ;
rollback() .
net.sf.hibernate.connection.ConnectionProvider , JDBC-. Datasource DriverManager. Hibernate , . :
close() , ;
closeConnection(Connection conn) ;
configure(Properties props) .
net.sf.hibernate.TransactionFactory Transaction. Hibernate , .
beginTransaction(SessionImplementor session) .
generateAndExecuteCreationScript()
createProperties() :
/* # 5: hibernate: MainServlet.java */
package courses.servlet;
import net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.tool.hbm2ddl.SchemaExport;
import net.sf.hibernate.MappingException;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import net.sf.hibernate.SessionFactory;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import java.util.List;
import java.util.Properties;
public class MainServlet extends HttpServlet {
public static SessionFactory factory;
static{
factory =