论坛首页 入门讨论版 Java

在jboss下hibernate怎么配置成service ?

浏览 1374 次
该帖已经被评为新手帖
作者 正文
最后更新时间:2007-04-03
hibernate在jboss怎么配置?要几个步骤,我用的是mysql数据库? 哪里有比较详细的例子啊?
   
最后更新时间:2007-04-03
jboss-service.xml

<server>
<mbean code="org.jboss.hibernate.jmx.Hibernate"
name="jboss.adminguide:name=ExampleSessionFactory">//name怎么写
<attribute name="DatasourceName">java:/DefaultDS</attribute>//数据源是不是在mysql-ds.xml里定义的,然后这个mysql-ds.xml文件放哪里
<attribute name="Dialect">
org.hibernate.dialect.HSQLDialect
</attribute>
<attribute name="SessionFactoryName">
java:/hibernate/ExampleSessionFactory//这个java:/hibernate/ExampleSessionFactory又是在哪定义的?
</attribute>
<attribute name="CacheProviderClass">
org.hibernate.cache.HashtableCacheProvider
</attribute>
<attribute name="Hbm2ddlAuto">create-drop</attribute>
<attribute name="ShowSqlEnabled">true</attribute>
</mbean>
</server>


一般一个har文件需要哪些文件?是不是里面包含所有的.hbm.xml 和对应的.class文件,还有一个hibernate.cfg.xml,jboss-service.xml和jboss-app.xml ?
然后还需要一个mysql-ds.xml放在D:\Program Files\jboss-5.0.0.Beta1\server\default\deploy目录下是不是啊?
   
0 请登录后投票
最后更新时间:2007-04-03
已经找了一天的资料了,一点头绪都没有,大家帮我一把
   
0 请登录后投票
最后更新时间:2007-04-03
jboss是个web服务器,那么你的hibernate配置和一般的web配置一样撒,
   
0 请登录后投票
最后更新时间:2007-04-03
下面是运行login.jsp出错的信息:
16:06:28,515 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
javax.naming.NameNotFoundException: SessionFactory not bound
        at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
        at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
        at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
        at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:628)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:590)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at org.apache.jsp.login_jsp._jspService(login_jsp.java:61)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:390)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:86)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:818)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
        at java.lang.Thread.run(Thread.java:619)


上面是错误信息
我的login.jsp文件内容如下

<%@page contentType="text/html;charset=GB2312" %>
<jsp:directive.page import="sessionFactory.HibernateSessionFactory"/>

<%
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
org.hibernate.SessionFactory factory = (org.hibernate.SessionFactory)ctx.lookup("java:/hibernate/SessionFactory");//这里有错-----
org.hibernate.Session se = factory.openSession();
org.hibernate.Query query=se.createQuery("from atteam.register.Register register where register.email='hui@163.com'");
java.util.List results=query.list();
java.util.ListIterator iterator=results.listIterator();
if(iterator.hasNext()){
	atteam.register.Register register=(atteam.register.Register)iterator.next(); 
	session.setAttribute("user",register);
	session.setAttribute("language","1");   
	out.print("Login success");   
}
%>


可能是我的SessionFactory的jndi名字未定义,那请问一下,我把SessionFactory的jndi名字定义在了hibernate.cfg.xml里了,那我这个hibernate.cfg.xml文件应该放在jboss的哪个目录下啊?
   
0 请登录后投票
最后更新时间:2007-04-03
jboss-service.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<server> 
    <mbean code="org.jboss.hibernate.jmx.Hibernate"   name="jboss.har:service=Hibernate">   //这里的这个jboss.har 是不是我自己 工程名.har 啊 ,如果我的工程名为hibernate_test 的话,那我这里是不是应该写为hibernate_test.har:service=Hibernate 啊?
         <attribute   name="DatasourceName">java:/MySqlDS</attribute>   
         <attribute   name="Dialect">org.hibernate.dialect.MySQLDialect</attribute>   
         <attribute   name="SessionFactoryName">java:/hibernate/SessionFactory</attribute>   //问一下,这里的(java:/hibernate/SessionFactory)这个jndi名字定义在哪个文件里的,是不是在hibernate.cfg.xml里定义的?如果是这样的话,那我这个hibernate.cfg.xml文件是放在那个.har包里呢,还是放在别的什么地方?
         <attribute   name="CacheProviderClass">org.hibernate.cache.EhCacheProvider</attribute>   
         <attribute   name="ShowSqlEnabled">true</attribute>   
    </mbean>   
</server> 
 
   
0 请登录后投票
最后更新时间:2007-04-03
有人做过这个吗?
   
0 请登录后投票
论坛首页 入门讨论版 Java

跳转论坛:
JavaEye推荐