viernes, 16 de enero de 2009

Hibernate Dialect

Aqui comparto los diferentes Dialecto que Hibernate utiliza, para su manejo de los diferentes motores de datos. Estos son:


A.- DB2 - org.hibernate.dialect.DB2Dialect

B.- HypersonicSQL - org.hibernate.dialect.HSQLDialect

C.- Informix - org.hibernate.dialect.InformixDialect

D.- Ingres - org.hibernate.dialect.IngresDialect

E.- Interbase - org.hibernate.dialect.InterbaseDialect

F.- Pointbase - org.hibernate.dialect.PointbaseDialect

G.- PostgreSQL - org.hibernate.dialect.PostgreSQLDialect

H.- Mckoi SQL - org.hibernate.dialect.MckoiDialect

I.- Microsoft SQL Server - org.hibernate.dialect.SQLServerDialect

J.- MySQL - org.hibernate.dialect.MySQLDialect

K.- Oracle (Any Version) - org.hibernate.dialect.OracleDialect

L.- Oracle 9 - org.hibernate.dialect.Oracle9Dialect

M.- Progress - org.hibernate.dialect.ProgressDialect

Ñ.- FrontBase - org.hibernate.dialect.FrontbaseDialect

O.- SAP DB - org.hibernate.dialect.SAPDBDialect

P.- Sybase - org.hibernate.dialect.SybaseDialect

Q.- Sybase Anywhere - org.hibernate.dialect.SybaseAnywhereDialect


COMPARATIVO JSP - JSF

En esta oportunidad hablare de un comparativo basico entre JSP y JSF. Ya que a mi como a la mayoria que ahora trabaja con este Framework les pudo haber pasado, el tratar en entender la logica de trabajo de JSF y seguro querer tratar de trabajarlo como uno estaba acostumbrado a trabajar con JSP.

Para comenzar JSP trabaja de una conocida forma en base Request/Response por el contrario JSF tiene una logica de trabajo tipo aplicacion Desktop en base a eventos, esto para que el Developer que venga de trabajar en JAVA J2SE al querer migrar a trabajar con J2EE les sea mas facil de entender. Al comienzo para los que ya han tenido un paso por JSP les sera un poco dificultoso la forma de trabajo pero despues les aseguro que mes gustara mucho este framework, esto debido a la cantidad de controles en sus diferentes frameworks que implementan la logica de trabajo de JSF como lo son: "MyFaces,A4j,RichFaces,Jenia Faces,Tomahawk,IceFaces". Todos muy buenos en realidad y o mejor que pueden trabajar de la mano. La unica cosa que hasta ahorita critico a JSF y en lo que pienso que deberian de mejorar lo antes posible es en tratar que sus controles al momento de hacer el Diseño de la Interfaz sean mas amigables ya que por mas que se traba con una buen CSS. Nunca pero nunca una Interfaz en JSF puede lucir de una manera profesional (Pude lucir bien pero profesional nunca) y claro el diseño demora bastante (La difencia en cuanod se trabajaba con HTML puro, que era rapido y frexible ).

Bueno pero lo que queria hablar desde el comienzo solo me deje llevar, era de como trabajar desde los ManageBean (Que vendria a ser tu Servlet al trabajar con JSF).
al querer mandar y obtener un parametro, un atributo, setear en sesion y simular los tan importantes resquest y response al trabajar con JSF. Bueno aqui les dejo la solucion:


I.- SETEAR EN SESION:

A.- JSP: request.getSession().setAttribute("miVariable",valor);

B.- JSF: FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("miVariable", valor);


II.- RECUPERAR LA SESION:

A.- JSP: request.getSession().getAttribute("miVariable");

B.- JSF: FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("miVariable");


III.- RECUPERANDO 'Context, Request, Response':

A.- JSP: En JSP es automatico al utilizar los Servlet.

B.- JSF: Se tiene que simular el manejo 'Context, Resquest, Response' tanto para el HttpServlet o el Servlet, segun se requiera.


- FacesContext context = FacesContext.getCurrentInstance();

- HttpServletRequest request = (HttpServletRequest)context.getCurrentInstance().getExternalContext().getRequest();

- HttpServletResponse response = (HttpServletResponse)context.getExternalContext().getResponse();

- ServletContext request2 = (ServletContext)context.getCurrentInstance().getExternalContext().getRequest();

- ServletContext sContext = (ServletContext)context.getExternalContext().getContext();

- ServletRequest sRequest = (ServletRequest)context.getExternalContext().getRequest();

- ServletResponse sResponse = (ServletResponse)context.getExternalContext().getResponse();