Как ускорить инициализацию Hibernate во время разработки в проекте Maven, Spring, Hibernate Использование Netbeans - PullRequest
0 голосов
/ 06 февраля 2019

Я использую Netbeans 8.2 для разработки веб-приложения с использованием Spring MVC и Hibernate, настроенного как проект Maven.Приложение подключается к локальной базе данных MySQL.Приложение работает на Tomcat.

Я привык использовать не maven сборки без спящего режима, где я могу видеть изменения в скомпилированных классах сразу после сохранения.У меня включена опция «Развернуть при сохранении», но развертывание происходит очень медленно, и похоже, что это происходит в основном из-за гибернации.У меня выработалась привычка часто нажимать ctrl-s, которые трудно сломать.

Есть ли варианты, которые я могу использовать для ускорения инициализации Hibernate, по крайней мере, при разработке?

Это образец логов tomcat

06-Feb-2019 12:01:08.224 INFO [http-nio-8085-exec-115] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
log4j:WARN No appenders could be found for logger (org.springframework.core.io.support.PathMatchingResourcePatternResolver).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
06-Feb-2019 12:01:13.179 INFO [http-nio-8085-exec-115] org.hibernate.Version.logVersion HHH000412: Hibernate Core {5.3.6.Final}
06-Feb-2019 12:01:13.186 INFO [http-nio-8085-exec-115] org.hibernate.cfg.Environment.<clinit> HHH000206: hibernate.properties not found
06-Feb-2019 12:01:14.709 INFO [http-nio-8085-exec-115] org.hibernate.annotations.common.reflection.java.JavaReflectionManager.<clinit> HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
06-Feb-2019 12:01:18.955 INFO [http-nio-8085-exec-115] org.hibernate.dialect.Dialect.<init> HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
06-Feb-2019 12:01:19.150 INFO [http-nio-8085-exec-115] org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl.makeLobCreatorBuilder HHH000422: Disabling contextual LOB creation as connection was null
06-Feb-2019 12:01:22.138 INFO [http-nio-8085-exec-115] org.hibernate.validator.internal.util.Version.<clinit> HV000001: Hibernate Validator 6.0.13.Final
06-Feb-2019 12:01:28.908 INFO [http-nio-8085-exec-115] org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure HHH010002: C3P0 using driver: com.mysql.cj.jdbc.Driver at URL: jdbc:mysql://localhost:3306/database?zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&useLegacyDatetimeCode=false
06-Feb-2019 12:01:28.909 INFO [http-nio-8085-exec-115] org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure HHH10001001: Connection properties: {handling_mode=DELAYED_ACQUISITION_AND_HOLD, user=username, password=****, autocommit=true}
06-Feb-2019 12:01:28.910 INFO [http-nio-8085-exec-115] org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure HHH10001003: Autocommit mode: true
06-Feb-2019 12:01:30.018 INFO [http-nio-8085-exec-115] org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure HHH10001007: JDBC isolation level: <unknown>
06-Feb-2019 12:01:34.093 INFO [http-nio-8085-exec-115] org.hibernate.dialect.Dialect.<init> HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
06-Feb-2019 12:01:34.094 INFO [http-nio-8085-exec-115] org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl.makeLobCreatorBuilder HHH000422: Disabling contextual LOB creation as connection was null
06-Feb-2019 12:01:35.351 INFO [http-nio-8085-exec-115] org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure HHH010002: C3P0 using driver: com.mysql.cj.jdbc.Driver at URL: jdbc:mysql://localhost:3306/database?zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&useLegacyDatetimeCode=false
06-Feb-2019 12:01:35.352 INFO [http-nio-8085-exec-115] org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure HHH10001001: Connection properties: {handling_mode=DELAYED_ACQUISITION_AND_HOLD, user=username, password=****, autocommit=true}
06-Feb-2019 12:01:35.352 INFO [http-nio-8085-exec-115] org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure HHH10001003: Autocommit mode: true
06-Feb-2019 12:01:35.706 INFO [http-nio-8085-exec-115] org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure HHH10001007: JDBC isolation level: <unknown>
06-Feb-2019 12:01:40.090 INFO [http-nio-8085-exec-115] org.apache.catalina.core.StandardContext.reload Reloading Context with name [] is completed
  • Версия Spring 5.0.0 RELEASE
  • Hibernate - 5.3.6 FINAL Hibernate
  • Validator - это 6.0.13 FINAL

Я пытался перейти с c3p0 на встроенный пул соединений, и это не имело значения.Также не было добавлено следующее в hibernate.cfg.xml

<property name="hibernate.query.startup_check">false</property>
<property name="javax.persistence.validation.mode">none</property>
<property name="hibernate.validator.autoregister_listeners">false</property>
<property name="hibernate.validator.apply_to_ddl">false</property>
<property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>
...