2013-07-23 2 views
0

Я скачал Hibernate 4.2.3 Final и увидеть, что он имеет несколько дополнительных библиотек, хотя я не уверен, что он использует их для и при каких обстоятельствах они необходимы/желательно:Hibernate опциональные зависимости

  • jboss-logging-3.1.0.GA.jar - это родная привязка SLF4J? Есть ли способ иметь Hibernate не использовать это для ведения журнала, а вместо этого использовать SLF4J и другую привязку? Если да, то как?
  • В комплект поставки также входят C3P0 и Proxool JAR; являются ли они единственными двумя структурами пула соединений, которые можно настроить для Hibernate? Что, если бы я хотел использовать, день, BoneCP? Что, если я хочу позволить JNDI (Tomcat/DBCP) решить, какой пул подключений использовать?
  • Что такое hibernate-entitymanager?
  • Что такое hibernate-envers?

Заранее благодарен!

ответ

1
  • Hibernate теперь использует JBoss-протоколирование, см: How do you configure logging in Hibernate 4 to use SLF4J

  • Я никогда не слышал о других, я уверен, что они хороши для большинства случаев использования. Если вы хотите использовать Tomcat/DBCP, вы можете использовать его как источник данных JTA. Я не думаю, что есть поставщик соединения для спящего режима 3 или 4. Источник: http://wiki.apache.org/commons/DBCP/Hibernate

  • Если вы хотите использовать HibernateEntityManager вместо этого javax.persistence.EntityManager, вы можете иметь банку на вашем пути к классам и кода с Это.

  • Envers - это «автоматическое» расширение аудита/версии, в котором вы аннотируете объекты с @Audited, и во время транзакции изменения также будут сохраняться. Здесь больше http://www.jboss.org/envers.

+0

Благодаря @Andre (+1) - 2 followups для вас: (1), так что это звучит, как я могу просто бросить 'SLF4J-api',' log4j-над-slf4j' и 'SLF4J-mybinding' на runpath classpath, и теперь все операторы ведения журнала Hibernate будут отправлены на привязку 'slf4j-mybinding', да? И (2) если я запускаю Tomcat (который использует DBCP) и задает Hibernate для использования источника данных JNDI, не будет ли Hibernate просто захватить источник данных из JNDI от Tomcat, который, в свою очередь, будет источником данных с пулом DBCP? Зачем мне нужно реализовать собственный источник данных JTA или поставщика подключения? Еще раз спасибо! – IAmYourFaja

+0

JTA один, вот что я имею в виду. Вы можете захватить источник данных из JNDI от Tomcat, который, в свою очередь, будет источником данных с пулом DBCP. Для ведения журнала я так считаю. :) –

Смежные вопросы