Консоль JHipster и IntelliJ JPA

При использовании JHipster 4.2.0 в IntelliJ консоль jpa не работает:

javax.persistence.PersistenceException: [PersistenceUnit: Entities] Unable to build Hibernate SessionFactory
java.lang.RuntimeException: org.hibernate.cache.NoCacheRegionFactoryAvailableException: Second-level cache is used in the application, but property hibernate.cache.region.factory_class is not given; please either disable second level cache or set correct region factory using the hibernate.cache.region.factory_class setting and make sure the second level cache provider (hibernate-infinispan, e.g.) is available on the classpath.

В application-dev.yml установлен factory_class.

hibernate.cache.region.factory_class: io.github.jhipster.config.jcache.NoDefaultJCacheRegionFactory

Любой способ решить эту проблему?


person dbConn    schedule 16.04.2017    source источник
comment
Обычно это происходит, если вы не установили профиль пружины для dev, проверьте настройки IJ.   -  person Gaël Marziou    schedule 16.04.2017
comment
Я установил профиль spring dev в конфигурациях запуска / отладки и профилях Maven, но не знаю, как установить его для консоли jpa.   -  person dbConn    schedule 17.04.2017
comment
Консоль JPA, являющаяся функцией Ultimate Edition, просили ли вы поддержку JetBrains? Или просто этот jetbrains.com/help /idea/2017.1/   -  person Gaël Marziou    schedule 17.04.2017


Ответы (1)


Мое решение состояло в том, чтобы создать этот файл persistence.xml в папке ресурсов, но вам нужно исправить его в соответствии с вашими потребностями, в моем случае я использую postgresSQL, но вы можете настроить свой тип базы данных:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="project name" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <!-- non-jta-datasource>jdbc/arquillian</non-jta-datasource -->
        <properties>
           <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQL9Dialect"/>
           <property name="hibernate.cache.use_second_level_cache" value="true"/>
           <property name="hibernate.cache.use_query_cache" value="false"/>
           <property name="hibernate.show_sql" value="true"/>
           <property name="hibernate.format_sql" value="true"/>
           <property name="hibernate.use_sql_comments" value="false"/>
           <property name="hibernate.generate_statistics" value="true"/>
           <property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory"/>
           <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/dialysis-dev"/>
           <property name="javax.persistence.jdbc.user" value="develop"/>
           <property name="javax.persistence.jdbc.password" value="admpostgres"/>
           <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
           <property name="hibernate.ejb.naming_strategy" value="org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy"/>
           <property name="hibernate.ddl-auto" value="none"/>
        </properties>
    </persistence-unit>
</persistence>

Затем в меню просмотра / Инструменты Windows / Сохранение вы сможете увидеть этот файл сохраняемости. Итак, щелкнув правой кнопкой мыши, вы увидите консоль JPA. В моем случае работает отлично.

Используя этот способ, вам не нужно назначать источник данных, потому что вся конфигурация, необходимая для IntelliJ IDEA, находится в указанном выше файле. Кстати, это было протестировано в Ultimate версии Intellij IDEA.

person hermeslm    schedule 30.10.2017