手动添加 NodeEntity、Id、GeneratedValue、RelationshipEntity 等(不使用注解)
Manually add NodeEntity, Id, GeneratedValue, RelationshipEntity etc (not using annotations)
我有两个 Maven 项目;
a) REST 服务器项目
b) 一个 Rest 消耗客户端项目
我想创建一个包含域 POJO 类 的第 3 个项目 - 并将其作为依赖项添加到其他两个项目中,因此我只有一个域为 类 的项目。但是,REST Server 项目依赖于 org.neo4j.ogm,它使用注解来实现图形持久化(@NodeEntity、@Id、@GeneratedValue、@RelationshipEntity 等)。
很明显,我不希望 POJO 项目依赖于任何东西,因为客户端也将使用它。所以我的问题是;我可以以某种方式手动添加这些设置,而不是使用注释吗?
Neo4j-OGM 仅适用于注释,不支持基于例如 XML 的声明。
这会有点老套和受限,但有一种情况可行:
- 如果您使用自动生成的 ID 作为
Long id
(没有 @Id
和 @GeneratedValue
注释),则没有 @NodeEntity
注释的实体将被识别为实体。
- 没有
@RelationshipEntity
定义。
- 所有关系都是传出的,它们的名称应该从它们的字段名称中派生出来。 (例如
List<User> friends
会变成类似 (...)-[:FRIENDS]->(:User)
的东西)
- 不使用其他 Neo4j-OGM 注释,如
@Property
、@Convert
等
我有两个 Maven 项目;
a) REST 服务器项目
b) 一个 Rest 消耗客户端项目
我想创建一个包含域 POJO 类 的第 3 个项目 - 并将其作为依赖项添加到其他两个项目中,因此我只有一个域为 类 的项目。但是,REST Server 项目依赖于 org.neo4j.ogm,它使用注解来实现图形持久化(@NodeEntity、@Id、@GeneratedValue、@RelationshipEntity 等)。
很明显,我不希望 POJO 项目依赖于任何东西,因为客户端也将使用它。所以我的问题是;我可以以某种方式手动添加这些设置,而不是使用注释吗?
Neo4j-OGM 仅适用于注释,不支持基于例如 XML 的声明。
这会有点老套和受限,但有一种情况可行:
- 如果您使用自动生成的 ID 作为
Long id
(没有@Id
和@GeneratedValue
注释),则没有@NodeEntity
注释的实体将被识别为实体。 - 没有
@RelationshipEntity
定义。 - 所有关系都是传出的,它们的名称应该从它们的字段名称中派生出来。 (例如
List<User> friends
会变成类似(...)-[:FRIENDS]->(:User)
的东西) - 不使用其他 Neo4j-OGM 注释,如
@Property
、@Convert
等