Comments (6)
What you're expecting there I've no idea. See the documentation for what is persisted
http://www.datanucleus.org/products/accessplatform_5_1/datastores/datastores.html#neo4j
Indeed Node + Relationship + Node are persisted, and they are read back in on getObjectById or query operations (in all of my tests).
There is no such concept of a "join table" supported so putting @Join makes no difference to anything. If you mean you want to contribute some support for persisting @Join in some other way then this is where you link your pull requests
from datanucleus-neo4j.
see
http://www.datanucleus.org/products/accessplatform_4_1/jdo/orm/one_to_many_list.html
1 to N relationships are either by Foreign-Key or Join Table
I was using and rdbms before switching to Neo4j.
JDO is supposed to mean I don't need to know what type of db is being used.
So the same JDO annotated classes should be useable irrespective of the db type.
Yes ?
Maybe the 'Join' is not necessary for Neo4j, but it does seem to be needed for RDBMS.
from datanucleus-neo4j.
The JDO spec contains some ORM aspects (that apply to RDBMS only), and some that are general. The JDO spec doesn't make a clear definition of how they should be applied because every database is different. The ORM aspects of the spec always apply to RDBMS, that part is defined in the JDO spec, but they do not always apply to "NoSQL". If you wanted to define some of what applies to NoSQL, you go to https://issues.apache.org/jira/browse/JDO-651
With current DN handling you don't need to know what type of DB is being used. It persists objects to Neo4j irrespective of what you put for @Join, and just ignores that metadata. There is nothing in the JDO spec that says you should invent some intermediate object (a Node in Neo4j), and then have a Relationship from A to A_B, and then a Relationship from A_B to B. That is what RDBMS requires.
from datanucleus-neo4j.
Still doesn't explain why the second object is not persisted.
Please re open and I will create a test case
from datanucleus-neo4j.
Did you read the link i gave? If I have an object A with a collection of B's it persist all objects as Nodes, and has Relationship objects between them.
from datanucleus-neo4j.
Yes, of course read it!
I will create a test case and make a new issue seeing as it has nothing to do with the Join annotation
from datanucleus-neo4j.
Related Issues (20)
- Support core-135
- Support core-159
- Support core-153
- Support SoftDelete of objects
- LazyLoadQueryResult Exception if result is empty when calling size()/isEmpty() HOT 7
- Move to latest 3.1.3 release of neo4j libraries HOT 4
- Load of query doesnt ensure that all SCOs are wrapped HOT 1
- Multiple Primary Keys fail HOT 2
- CompoundIdentity is not supported HOT 2
- Support core-233
- Retrieval code doesnt handle primitive retrieval when not existing in database
- Support for missing (non-String) columns in Neo4j database. HOT 1
- Creates new Object instead of setting it to another Object. HOT 4
- Ineqeulity Filter method, .ne() gives QueryExecutionException. HOT 3
- Support for queries with "IS NULL" / "IS NOT NULL"
- Support for Filter method String.contains(). HOT 42
- Support String toUpperCase/toLowerCase/trim/trimLeft/trimRight/substring in JDOQL/JPQL
- Support Numeric cos/sin/tan/acos/asin/atan/toDegrees/toRadians in JDOQL/JPQL
- Support for String startsWith/endsWith/matches in queries
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from datanucleus-neo4j.