手动添加 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