java - 使用orientdb注解自动填充Pojo

标签 java jpa annotations orientdb

第一点是我使用的是 orientdb 版本 2.1.7。

我尝试用orientdb实现一个包含jpa的项目。如本 doc 中所述自动加载、保存和删除适用于简单的 POJO。

但是有两点没有解决。

  1. 我想让特性变得独一无二。我知道当我像这样以编程方式执行此操作时它会起作用: OrientVertexType vertexType = graph.createVertexType(vertexName); vertexType.createProperty("id", OType.STRING); vertexType.createIndex("ididx", OClass.INDEX_TYPE.UNIQUE, "id");

但是有没有办法通过注释来做到这一点? JPA 注释 (@Column(unique = true, nullable = false)) 似乎不起作用。

  • 我有两个通过边连接的 VertexType。我还希望该集合通过注释自动加载。示例(未列出 getter 和 setter): 用户对象:
  • public class MyUser implements iMyUser { private String id; private String name; private Set<MyGroup> groups; ... }

    组对象:

    public class MyGroup implements iMyGroup { private String name; private String id; ... }

    在 JPA 中,您可以添加类似 @JoinTable(name = "table", joinColumns = { @JoinColumn(name = "colname") }, inverseJoinColumns = { @JoinColumn(name = "colname") }) 的内容到 MyUser 中的 groups 属性,以及当您调用方法 getGroups() 时你得到有关系的组。 orientdb 中是否有支持这种行为的注释? 我认为this (@Adjacency) 可能是一个解决方案,但到目前为止我还没有成功实现它。

    还有支持注释的列表或其他内容吗?

    问候, foo

    最佳答案

    第二点可以通过tinkerpop框架实现。 @Adjacency注解用于对象和@之间的直接关系GremlinGroovy以便查询。在界面上添加注释有点奇怪,但它确实有效。

    对于第一点,通过注释可能无法解决,但您可以通过orientdb后端创建唯一索引。

    关于java - 使用orientdb注解自动填充Pojo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34726266/

    相关文章:

    java - Spring框架中@Import和@ImportResource注解的使用有什么区别?

    java - Gradle IntelliJ创意

    java.lang.IllegalArgumentException : argument type mismatch $Proxy0. 加入网络(未知来源)

    java - Hibernate JPA 序列(非 Id)

    java - 如果列表发生唯一约束错误,Spring 不会回滚。如何启用整个列表的回滚?

    java - Hibernate 源代码中的 volatile 屏障将为 "syncs state with other threads"。如何?

    java - 找不到类 'EndpointsAsyncTask$1' ,从方法 EndpointsAsyncTask.xxx 引用 - 匿名函数

    java - 线程执行不可预测

    python - 创建 MS COCO 样式数据集

    java - 有没有办法在完整测试运行期间记录 JUnit5 @Disabled 原因值?