Java 休眠可选依赖项

Java 休眠可选依赖项,java,hibernate,Java,Hibernate,我刚刚下载了Hibernate 4.2.3 Final,看到它有几个可选库,尽管我不确定它使用它们的目的是什么,或者在什么情况下需要它们: jboss-logging-3.1.0.GA.jar-这是本机SLF4J绑定吗?有没有办法让Hibernate不用它来记录日志,而是使用SLF4J和其他绑定?如果是,怎么做 还可选地包括C3P0和Proxool罐;这是Hibernate可以配置使用的唯一两个连接池框架吗?如果我想用day BoneCP怎么办?如果我想让JNDI(Tomcat/DBCP)决定

我刚刚下载了Hibernate 4.2.3 Final,看到它有几个可选库,尽管我不确定它使用它们的目的是什么,或者在什么情况下需要它们:

  • jboss-logging-3.1.0.GA.jar
    -这是本机SLF4J绑定吗?有没有办法让Hibernate不用它来记录日志,而是使用SLF4J和其他绑定?如果是,怎么做
  • 还可选地包括C3P0和Proxool罐;这是Hibernate可以配置使用的唯一两个连接池框架吗?如果我想用day BoneCP怎么办?如果我想让JNDI(Tomcat/DBCP)决定使用哪个连接池呢
  • 什么是休眠实体管理器
  • 什么是休眠环境
提前谢谢

  • Hibernate现在使用jboss日志记录,请参阅:

  • 我从未听说过其他人,我相信他们对大多数用例都很好。如果要使用Tomcat/DBCP,可以将其用作JTA数据源。我认为Hibernate3或4没有连接提供程序。资料来源:

  • 如果您想使用HibernateEntityManager而不是javax.persistence.EntityManager,您可以将jar放在类路径上并用它编码

  • Envers是一个“自动”审计/版本控制扩展,您可以在其中使用
    @Audited
    注释实体,并且在事务期间,更改也将保持不变。这里还有更多


谢谢@Andre(+1)-2下面的内容:(1)听起来我可以在运行时类路径上抛出
slf4j-api
log4j-over-slf4j
slf4j-mybinding
,现在所有Hibernate日志语句都会被发送到
slf4j-mybinding
绑定,是吗?(2)如果我在Tomcat上运行(它使用DBCP)并指定Hibernate使用JNDI数据源,Hibernate难道不会从Tomcat的JNDI中获取数据源,而JNDI又是DBCP池数据源吗?为什么我需要实现自己的JTA数据源或连接提供程序?再次感谢!JTA一号,这就是我的意思。您可以从Tomcat的JNDI获取数据源,而JNDI将是DBCP池数据源。对于日志记录,我相信是这样。:)