hibernate 里面连接数据库时用JDBC和JNDI
,JDBC和JNDI不是同一类东西各做各的事情

解决方案 »

  1.   

    jndi提供了与许多命名服务交互的一种标准方法
    java数据库连接体系结构是用于java应用程序连接数据库事实上的标准方法。jdbc对java程序员而言是api
      

  2.   

    楼主说的这个意思是这样的吧?1.直接在hibernate中配置数据库连接文件(可以设置连接池),包括数据库类型,用户名,密码等相关项。
    2.利用JNDI,实际上就是利用JNDI来设置连接池,而不用第一种方式。我觉得从性能上讲,两者不怎么好区分。一般来讲,使用web容器自身的连接池可能要好一点,也就是第二种方法。毕竟web容器对其自身的连接池效率要高一点。当然,如果你用第一种方法,配置的好一点的话,也是可以的。但这里我推荐你用第二种做法。在开发的时候你可以用第一种,而实际运行就用第二种。
      

  3.   

    hibernate 离不开JDBC  
    通过 JNDI 也是间接的调用JDBC~
      

  4.   

    to  mxlmwl(飞星) :
    谢谢关于hibernate连接数据库时有点不明白,偶用的是MyEclipse中带的Hibernate3,它使用user jdbc driver时,可以设置连接池吗?怎么设?谢谢
    如果选用use JNDI DataSource时,它的连接池配置在web容器中配置,为何右边的properties还可以添加譬如connection_pool_size这样的参数呢?不是在web容器中的连接池配置中配置好了吗?会不会发生冲突呢?谢谢,
    望您能给我一下,这两种的hibernate.cfg.xml的代码,谢谢
      

  5.   

    一般实际应用中用JNDI,JDBC学习还行
      

  6.   

    用JNDI时,它要找web服务器配置的连接池,所以hibernate中使用jndi的语法特别简单,只要定义
    connection.datasource和dialet就行。