在grails-neo4j插件中,我如何定义节点之间的关系和关系的属性。
我可以将我的节点定义为域类,但如果我想连接节点,即我想以某种形式映射节点的关系,该怎么办。
我发现spring-neo4j框架适用于这种情况,我可以将关系映射到java类,但是没有找到任何grails兼容层。
答案 0 :(得分:1)
插件不会将域类直接映射到neo4j中的节点或关系。它使用自己的结构,如:
root -> domainClass.name -> relation -> domain class instance
我建议您将域类定义为节点,插件应该正确处理它们。另一种方式:放弃插件>)
答案 1 :(得分:0)
Neo4j Grails插件尚不支持将域类映射为关系。我在我要添加的内容列表中有这个。
你是对的,Spring Data Neo4j已经能够做到这一点。请注意,Spring Data Neo4j和Grails Neo4j插件没有任何共同点(除了他们使用Neo4j持久)。持久层是一个完全独立的代码库。
答案 2 :(得分:0)
现在比最初问这个问题要晚得多-4年后。该插件现在支持将Neo4j关系创建为Grails域类,并且该关系可以具有属性。但是,对这些属性的约束尚不起作用。下面是有效的单向关系的完整代码。
package neo4j.authentication.demo
import grails.neo4j.Relationship
import groovy.transform.CompileStatic
@CompileStatic
class BelongsTo implements Relationship<Car, Owner> {
String sinceWhen
String toString() {
sinceWhen
}
}