1

Hibernate OGM, Version 5 Alpha, Redis 3.0 on Windows, Java SE1.8

All Hibernate OGM Jar-Files Are in Classpath. If i remove the String Variable #name and the Setter-Getter Method of the Variable, it is working fine.

OGM000068: Could not configure property test.Autor#name

OGM000059: Unable to find a GridType for string

I have the following Exception:

INFO: OGM000001: Hibernate OGM 5.0.0.Alpha1
Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: HLS] Unable to build Hibernate SessionFactory
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:877)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:805)
    at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58)
    at org.hibernate.ogm.jpa.HibernateOgmPersistence.createEntityManagerFactory(HibernateOgmPersistence.java:59)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
    at test.Main.main(Main.java:11)
Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.ogm.persister.impl.SingleTableOgmEntityPersister
    at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123)
    at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:346)
    at org.hibernate.ogm.boot.impl.OgmSessionFactoryBuilderImpl.build(OgmSessionFactoryBuilderImpl.java:54)
    at org.hibernate.ogm.boot.impl.OgmSessionFactoryBuilderImpl.build(OgmSessionFactoryBuilderImpl.java:23)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:802)
    ... 5 more
Caused by: org.hibernate.HibernateException: OGM000068: Could not configure property test.Autor#name
    at org.hibernate.ogm.persister.impl.OgmEntityPersister.<init>(OgmEntityPersister.java:306)
    at org.hibernate.ogm.persister.impl.SingleTableOgmEntityPersister.<init>(SingleTableOgmEntityPersister.java:34)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96)
    ... 10 more
Caused by: org.hibernate.HibernateException: OGM000059: Unable to find a GridType for string
    at org.hibernate.ogm.type.impl.TypeTranslatorImpl.getType(TypeTranslatorImpl.java:85)
    at org.hibernate.ogm.persister.impl.OgmEntityPersister.<init>(OgmEntityPersister.java:303)
    ... 16 more



import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Autor {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private int id;

    private long wert;

    private String name;

    public Autor() {

    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public long getWert() {
        return wert;
    }

    public void setWert(long wert) {
        this.wert = wert;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

public class Main {

    public static void main(String[] args) {
        EntityManagerFactory emf = Persistence
                .createEntityManagerFactory("HLS");
        EntityManager em = emf.createEntityManager();

        Autor a = new Autor();
        Autor b = new Autor();
        Autor c = new Autor();

        em.getTransaction().begin();
        em.persist(a);
        em.persist(b);
        em.persist(c);
        em.getTransaction().commit();

        System.out.println("ende");
    }
}


<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_2_0.xsd"
             version="2.0">

    <persistence-unit name="HLS" transaction-type="RESOURCE_LOCAL">
        <description>
            Persistence unit ...
        </description>
        <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>
        <properties>
            <property name="hibernate.ogm.datastore.provider" value="redis_experimental"/>
            <property name="hibernate.ogm.datastore.host" value="localhost:6379"/>
            <property name="hibernate.ogm.datastore.database" value="0"/>
            <property name="hibernate.ogm.datastore.redis.association_storage" value="IN_ENTITY"/>
            <property name="hibernate.ogm.datastore.document.map_storage" value="BY_KEY"/>
        </properties>
    </persistence-unit>
</persistence>
ρss
  • 5,115
  • 8
  • 43
  • 73
  • Which Hibernate ORM version are you using? OGM Redis supports all basic data types (String, all primitives, URL, ...) so you're on a good track. – mp911de Dec 23 '15 at 09:46
  • Hi, i use Hibernate OGM 5.0.0.Alpha1. – M Human Attaie Dec 23 '15 at 10:22
  • I saw that but which ORM (Hibernate Core) version do you use? OGM 5.0.0.Alpha requires ORM >= 5.0.0. Btw. there's a newer OGM release 5.0.0.Beta1 – mp911de Dec 23 '15 at 10:30
  • Hi, i dont use (put) Hibernte ORM Jar-Files in the Classpath. – M Human Attaie Dec 23 '15 at 11:10
  • I put just also the jar Files from hibernate-release-5.0.6.Final in the Classpath. But i have also the exception. – M Human Attaie Dec 23 '15 at 11:17
  • I put just also the jar Files from hibernate-release-5.0.6.Final and the Jar-Files from hibernate-ogm-5.0.0.Beta1-dist in the Classpath. But i have also the exception :-( – M Human Attaie Dec 23 '15 at 11:24
  • I created a vanilla project using Gradle to reproduce the Exception but it runs without any errors. Can you give it a try? https://gist.github.com/anonymous/e8f83f13e0329b5f396f – mp911de Dec 23 '15 at 13:55
  • Hi, sorry but i have not idea of Gradle. You Can reproduce the Exception in one normally Java-Project in Eclipse(Luna), and put the jar Files in the classpath. (Project, properties, Java BuildPath, Libaries, Add External Jars) – M Human Attaie Dec 28 '15 at 10:40
  • I created a list of Jar-Files you need on the class path: https://gist.github.com/mp911de/dc3ee5d8915f576c5b48 (not sure about xml-apis, format is Maven GroupId, Name, Version) – mp911de Dec 28 '15 at 21:24
  • Thanks i will try it – M Human Attaie Dec 29 '15 at 10:10

0 Answers0