Настройка Play Framework 2.5.x с Hibernate OGM Neo4j

Я пытаюсь настроить Hibernate OGM для работы с Play Framework 2.5.x(17) в моем случае, но я продолжаю получать сообщение об ошибке «Не удается подключиться к базе данных [по умолчанию]». По-видимому, Play использует драйвер MySQL по умолчанию, и я не могу найти конфигурацию драйвера специально для Neo4J. Вот содержимое моего файла persistance.xml:

<?xml version="1.0"?>
<persistence 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
 db.default.jndiName=DefaultDS
    jpa{
      default=defaultPersistenceUnit
    }
0.xsd" version="2.0"> <persistence-unit name="defaultPersistenceUnit" transaction-type="JTA"> <!-- Use Hib77ernate OGM provider: configuration will be transparent --> <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider> <non-jta-data-source>DefaultDS</non-jta-data-source> <properties> <property name="hibernate.transaction.jta.platform" value="JBossTS" /> <property name="hibernate.ogm.datastore.provider" value="neo4j_http"/> <property name="hibernate.ogm.datastore.host" value="localhost:7474"/> <property name="hibernate.ogm.datastore.username" value="neo4j"/> <property name="hibernate.ogm.datastore.password" value="neo4j"/> </properties> </persistence-unit> </persistence>

И содержимое application.conf:

 db.default.jndiName=DefaultDS
    jpa{
      default=defaultPersistenceUnit
    }

Любая помощь приветствуется. Заранее спасибо.


person Vikram    schedule 06.10.2017    source источник
comment
что такое DefaultDS? потому что JPA определяет это как javax.sql.DataSource, и я сомневаюсь, что Neo4j делает это...   -  person    schedule 06.10.2017
comment
По-видимому, DefaultDS - это просто декларация (пустышка), поскольку это требует jpa. Hibernate OGM все равно его проигнорирует.   -  person Vikram    schedule 06.10.2017
comment
Нет, JPA не требует non-jta-datasource. И если вы укажете реквизиты javax.persistence.jdbc.XXX`, он использует их.   -  person    schedule 06.10.2017


Ответы (1)


Я столкнулся с той же проблемой, тогда я нашел одно решение, которое мы можем использовать драйвер jdbc neo4j.

приложение.конф :-

db.default.jndiName=DefaultDS  
jpa.default=defaultPersistenceUnit  
db.default.driver=org.neo4j.jdbc.Driver  
db.default.url="jdbc:neo4j:http://localhost"  
db.default.user= neo4j  
db.default.password="password"

постоянство.xml

http://xmlns.jcp.org/xml/ns/persistence/persistence

<persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>
    <non-jta-data-source>DefaultDS</non-jta-data-source>
    <class>domain class name</class>
    <properties>
        <property name="hibernate.transaction.jta.platform"
                  value="JBossTS" />
        <property name="hibernate.ogm.datastore.provider" value="neo4j_http"/>
        <property name="hibernate.ogm.datastore.host" value="localhost:7474"/>
        <property name="hibernate.ogm.datastore.username" value="neo4j"/>
        <property name="hibernate.ogm.datastore.password" value="password"/>


    </properties>
</persistence-unit>
1.xsd" version="2.1">

<persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>
    <non-jta-data-source>DefaultDS</non-jta-data-source>
    <class>domain class name</class>
    <properties>
        <property name="hibernate.transaction.jta.platform"
                  value="JBossTS" />
        <property name="hibernate.ogm.datastore.provider" value="neo4j_http"/>
        <property name="hibernate.ogm.datastore.host" value="localhost:7474"/>
        <property name="hibernate.ogm.datastore.username" value="neo4j"/>
        <property name="hibernate.ogm.datastore.password" value="password"/>


    </properties>
</persistence-unit>

person Pooja Singh    schedule 08.10.2017