-
-
Save HiroNakamura/4067205 to your computer and use it in GitHub Desktop.
| package org.utilidad.hibernate; | |
| import org.hibernate.HibernateException; | |
| import org.hibernate.Session; | |
| import org.hibernate.cfg.Configuration; | |
| /** | |
| * | |
| * @author fernando | |
| */ | |
| public class SessionFactory { | |
| private static String CONFIG_FILE_LOCATION = "hibernate1.cfg.xml"; | |
| private static final ThreadLocal threadLocal = new ThreadLocal(); | |
| private static Configuration configuration = new Configuration(); | |
| private static org.hibernate.SessionFactory sessionFactory; | |
| private static String configFile = CONFIG_FILE_LOCATION; | |
| private SessionFactory() { | |
| } | |
| /** | |
| * Returns the ThreadLocal Session instance. Lazy initialize | |
| * the SessionFactory if needed. | |
| * | |
| * @return Session | |
| * @throws HibernateException | |
| */ | |
| public static Session getSession() throws HibernateException { | |
| Session session = (Session) threadLocal.get(); | |
| if (session == null || !session.isOpen()) { | |
| if (sessionFactory == null) { | |
| rebuildSessionFactory(); | |
| } | |
| session = (sessionFactory != null) ? sessionFactory.openSession() | |
| : null; | |
| threadLocal.set(session); | |
| } | |
| return session; | |
| } | |
| /** | |
| * Rebuild hibernate session factory | |
| * | |
| */ | |
| public static void rebuildSessionFactory() { | |
| try { | |
| configuration.configure(configFile); | |
| sessionFactory = configuration.buildSessionFactory(); | |
| } catch (Exception e) { | |
| System.err.println("%%%% Error Creating SessionFactory %%%%"); | |
| e.printStackTrace(); | |
| } | |
| } | |
| /** | |
| * Close the single hibernate session instance. | |
| * | |
| * @throws HibernateException | |
| */ | |
| public static void closeSession() throws HibernateException { | |
| Session session = (Session) threadLocal.get(); | |
| threadLocal.set(null); | |
| if (session != null) { | |
| session.close(); | |
| } | |
| } | |
| /** | |
| * return session factory | |
| * | |
| */ | |
| public static org.hibernate.SessionFactory getSessionFactory() { | |
| return sessionFactory; | |
| } | |
| /** | |
| * return session factory | |
| * | |
| * session factory will be rebuilded in the next call | |
| */ | |
| public static void setConfigFile(String configFile) { | |
| SessionFactory.configFile = configFile; | |
| sessionFactory = null; | |
| } | |
| /** | |
| * return hibernate configuration | |
| * | |
| */ | |
| public static Configuration getConfiguration() { | |
| return configuration; | |
| } | |
| } |
package org.pruebasgwt.client;
import org.pruebasgwt.hibernate.Usuarios;
/**
*
-
@author fernando
*/
public class ContenedorServicios {public String obtener(int id){
Usuarios usuario=null;
UsuariosDAO usuarioDAO=new UsuariosDAO();
try{
usuario = (Usuarios) usuarioDAO.obtenUsuarios(id);
}catch(Exception ex){
ex.printStackTrace(System.err);
}
return usuario.getNombUs().toString();
}public String obtener2(int id){
Usuarios usuario=null;
UsuariosDAO2 usuarioDAO=new UsuariosDAO2();
try{
usuario = (Usuarios) usuarioDAO.obtenerUsuario(id);
}catch(Exception ex){
ex.printStackTrace(System.err);
}
return usuario.getNombUs().toString();
}
}
package org.pruebasgwt.server;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import java.util.ArrayList;
import java.util.List;
import org.pruebasgwt.client.ContenedorServicios;
import org.pruebasgwt.client.GWTService;
import org.pruebasgwt.hibernate.Usuarios;
import org.pruebasgwt.client.UsuariosDAO;
/**
*
-
@author fernando
*/
public class GWTServiceImpl extends RemoteServiceServlet implements GWTService {@OverRide
public String myMethod(String s) {
// Do something interesting with 's' here on the server.
return "El servidor te dice bienvenido: " + s;
}@OverRide
public String calculo(double v, double i, int n) {
return "\nvalor: "+v+"\ninteres: "+i+"\nplazo: "+n+"\nvalor futuro obtenido: "+String.valueOf(v*Math.pow(1+i/100,n));
}@OverRide
public String obtener(int n) {
String resultado=null;
ContenedorServicios servicio=new ContenedorServicios();
try{
resultado+=" el usuario recuperado es: "+servicio.obtener(n);
}catch(Exception ex){
ex.printStackTrace();
}
return resultado;
}@OverRide
public String obtener2(int n) {
String resultado="";
ContenedorServicios servicio=new ContenedorServicios();
try{
resultado+=" el usuario recuperado es: "+servicio.obtener2(n);
}catch(Exception ex){
ex.printStackTrace();
}
return resultado;
}
}
package org.pruebasgwt.client;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.utilidad.hibernate.SessionFactory;
import org.pruebasgwt.hibernate.Usuarios;
/**
*
@author fernando
*/
public class UsuariosDAO2 {
public static Usuarios obtenerUsuario(int id)throws HibernateException{
Session session = null;
Transaction tx = null;
session = SessionFactory.getSession();
Usuarios usuario=null;
}
}