orientechnologies / spring-data-orientdb

OrientDB implementation for SpringData

Home Page:http://forum.springsource.org/showthread.php?99627-OrientDB-support

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Upgrading from 2.x to 3.0.x: cannot find correct spring data version

adepase opened this issue · comments

OrientDB Version: 3.0.10

Java Version: "1.8.0_171"

Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11,
mixed mode)

OS: Windows 10 Home

Expected behavior

According to OrientDb official docs in http://orientdb.com/docs/3.0.x/apis-and-drivers/ OrientDb Spring Data is the Official Spring Data Plugin for both Graph and Document APIs But Graph API 2.6 are deprecated (http://orientdb.com/docs/3.0.x/java/Java-API.html ) and substituted by TinkerPop 3.0 Graph API. On https://github.com/orientechnologies/spring-data-orientdb/tree/3.0.x the readme says the version to use is 0.13, so it's expected that that is the last version and that you can use it.

Actual behavior

On https://search.maven.org/artifact/com.orientechnologies/spring-data-orientdb-parent/0.14/pom the last version is 0.14, updated last year:

image

The 0.13 version seems to be updated on 2016:
image

According to https://github.com/orientechnologies/spring-data-orientdb/tree/3.0.x the new version should be updated 4 months ago. So, what is the real version usable with 3.0.x? Can I update it using gradle/maven and similar? How can I upgrade?

Steps to reproduce

See above.

commented

Yeah, the docs are quite outdated which is something I've already asked them to fix (and it would literally take them a few seconds to do it), but if you want to use OriendDB 3.0 with Spring Data, you should use the '0.14-3.0.5-SNAPSHOT' and include https://oss.sonatype.org/content/groups/public as a Maven repo. You can find the newest version of that snapshot at: https://oss.sonatype.org/content/groups/public/com/orientechnologies/spring-data-orientdb-object/

Well, thank you. I found it, but I'm using spring-boot-orientdb-autoconfigure and Gradle cannot find it.
I think it may be due to some sort of misconfiguration of the repository, because even from the search tool of oss.sonatype.org it cannot be found:

image

while it appears to be there, if browsing the directories:
image

Dear all, do someone know from what repository the spring-boot-orientdb-autoconfigure for version 3.X is downloadable? I see it on github, but I cannot find a repository.
Thank you in advance

Ok, a lot of time passed. And I checked again. Probably last time I paid not so much attention, the solution is using the following configurations (in gradle version, for version 3.1.0):

[...]
repositories {
	mavenCentral()
	maven { url "https://oss.sonatype.org/content/groups/public/" }
}
[...]
compile ('com.orientechnologies:spring-boot-orientdb-autoconfigure:0.14-3.1.0-SNAPSHOT'){
        exclude module: 'hibernate-jpa-2.0-api'
    }

The exclude directive is for my own build, because I already imported that and compiling it again it can create issues for duplicates, you can omit it, if needed.
I hope this can save time to others, with reduced attention as me :)

I'm trying to get this up and running with the 0.14-3.1.0-SNAPSHOT version, but I get this error:

but I get this error message when starting the application:

`***************************
APPLICATION FAILED TO START


Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

org.apache.tinkerpop.gremlin.orientdb.executor.OCommandGremlinExecutor.initCustomTransformer(OCommandGremlinExecutor.java:81)

The following method did not exist:

com.orientechnologies.orient.core.command.script.OScriptManager.getTransformer()Lcom/orientechnologies/orient/core/command/script/transformer/OScriptTransformer;

The method's class, com.orientechnologies.orient.core.command.script.OScriptManager, is available from the following locations:

jar:file:/home/xxx/.m2/repository/com/orientechnologies/orientdb-core/3.1.2/orientdb-core-3.1.2.jar!/com/orientechnologies/orient/core/command/script/OScriptManager.class

The class hierarchy was loaded from the following locations:

com.orientechnologies.orient.core.command.script.OScriptManager: file:/home/xxx/.m2/repository/com/orientechnologies/orientdb-core/3.1.2/orientdb-core-3.1.2.jar

Action:

Correct the classpath of your application so that it contains a single, compatible version of com.orientechnologies.orient.core.command.script.OScriptManager
`

Any ideas, what's up with that?

Edit:

Ok, I got that sorted out now, I was missing a dependency.

But now I run into the following problem:

As soon as I define a query in my class-specific OrientObjectRepository beyond the inherited queries I get this error message:

"you have defined query methods in the repository but do not have any query lookup strategy defined. the infrastructure apparently does not support query methods!"