{"action":"created","issue":{"url":"https://api.github.com/repos/hibernate/hibernate-ogm/issues/623","repository_url":"https://api.github.com/repos/hibernate/hibernate-ogm","labels_url":"https://api.github.com/repos/hibernate/hibernate-ogm/issues/623/labels{/name}","comments_url":"https://api.github.com/repos/hibernate/hibernate-ogm/issues/623/comments","events_url":"https://api.github.com/repos/hibernate/hibernate-ogm/issues/623/events","html_url":"https://github.com/hibernate/hibernate-ogm/pull/623","id":128172319,"number":623,"title":"OGM-366 Remote Neo4j ","user":{"login":"DavideD","id":559221,"avatar_url":"https://avatars.githubusercontent.com/u/559221?v=3","gravatar_id":"","url":"https://api.github.com/users/DavideD","html_url":"https://github.com/DavideD","followers_url":"https://api.github.com/users/DavideD/followers","following_url":"https://api.github.com/users/DavideD/following{/other_user}","gists_url":"https://api.github.com/users/DavideD/gists{/gist_id}","starred_url":"https://api.github.com/users/DavideD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavideD/subscriptions","organizations_url":"https://api.github.com/users/DavideD/orgs","repos_url":"https://api.github.com/users/DavideD/repos","events_url":"https://api.github.com/users/DavideD/events{/privacy}","received_events_url":"https://api.github.com/users/DavideD/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-01-22T14:56:10Z","updated_at":"2016-02-05T14:05:46Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/hibernate/hibernate-ogm/pulls/623","html_url":"https://github.com/hibernate/hibernate-ogm/pull/623","diff_url":"https://github.com/hibernate/hibernate-ogm/pull/623.diff","patch_url":"https://github.com/hibernate/hibernate-ogm/pull/623.patch"},"body":"https://hibernate.atlassian.net/browse/OGM-366\r\n\r\nI've tried to split in sensible commits but there are still a lot of classes and changes.\r\nIn commits https://github.com/hibernate/hibernate-ogm/commit/95183dc3669c61ab45e9cc7aa4df19854f0e9f8d and https://github.com/hibernate/hibernate-ogm/commit/b599ba4ee82f202dcf360a64a7c00c7c8c1457b6 I've added a new `TransactionContext` class that allows the dialect to access the TransactionDriver and then get the tx id from it.\r\n\r\nAn alternative solution could be to add some method in DataStoreProvider that returns a Transaction identifier given the TransactionCoordinator.\r\n\r\nWhat it is missing:\r\n* Integration tests with the remote server\r\n* 1 to 1 embedded are not loaded eagerly\r\n* Documentation\r\n\r\nFollow up of: https://github.com/hibernate/hibernate-ogm/pull/596\r\n\r\nUPDATE: Built on top of https://github.com/hibernate/hibernate-ogm/pull/621"},"comment":{"url":"https://api.github.com/repos/hibernate/hibernate-ogm/issues/comments/180372886","html_url":"https://github.com/hibernate/hibernate-ogm/pull/623#issuecomment-180372886","issue_url":"https://api.github.com/repos/hibernate/hibernate-ogm/issues/623","id":180372886,"user":{"login":"DavideD","id":559221,"avatar_url":"https://avatars.githubusercontent.com/u/559221?v=3","gravatar_id":"","url":"https://api.github.com/users/DavideD","html_url":"https://github.com/DavideD","followers_url":"https://api.github.com/users/DavideD/followers","following_url":"https://api.github.com/users/DavideD/following{/other_user}","gists_url":"https://api.github.com/users/DavideD/gists{/gist_id}","starred_url":"https://api.github.com/users/DavideD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavideD/subscriptions","organizations_url":"https://api.github.com/users/DavideD/orgs","repos_url":"https://api.github.com/users/DavideD/repos","events_url":"https://api.github.com/users/DavideD/events{/privacy}","received_events_url":"https://api.github.com/users/DavideD/received_events","type":"User","site_admin":false},"created_at":"2016-02-05T14:05:46Z","updated_at":"2016-02-05T14:05:46Z","body":"> Wow, this is a monster pull request!\r\nYes, sorry. It usually happens when a new backend integration get built.\r\n\r\n> One question is about the upcoming Neo4j 3.0 release and the bolt protocol they have introduced in version 3. Is this pull request capable of adapting the connection approach to https://github.com/neo4j/neo4j-java-driver ones it is stable, instead of using the rest connection to communicate cypher queries?\r\n\r\nI still need to read more about Neo4j 3, but OGM as several layers of abstraction and since we already generate the cypher queries that we need, my guess is that it shouldn't be too hard to use a different client to run them.\r\n\r\n> @DavideD it`s always a pleasure how you constantly evolve hibernate-ogm-neo4j, please keep up this great work!\r\n\r\nThank you very much, it's great to hear from someone using it :)\r\nFeel free to leave some feedback, it helps us a lot.\r\n\r\n\r\n\r\n"}}