Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用JPA的协议缓冲区_Java_Jpa_Protocol Buffers - Fatal编程技术网

Java 使用JPA的协议缓冲区

Java 使用JPA的协议缓冲区,java,jpa,protocol-buffers,Java,Jpa,Protocol Buffers,我目前正在构建一个P2P系统,它使用协议缓冲区进行对等点之间的所有通信。系统中还有一些集中的部分,在这些部分中,对等方与服务器进行通信。服务器使用JPA存储它拥有的关于对等方的数据 因此,从本质上讲,客户端的数据位于协议缓冲区消息中,服务器位于JPA实体中。因此,我的问题是,是否有一种方法可以在它们之间自动转换 我要找的是: 从.protos文件或 来自JPA实体的.protos文件生成器和 某种在运行时自动在它们之间转换的方法,这样我就不必为每个新类手动创建代码 理想情况下,您可以更进一步

我目前正在构建一个P2P系统,它使用协议缓冲区进行对等点之间的所有通信。系统中还有一些集中的部分,在这些部分中,对等方与服务器进行通信。服务器使用JPA存储它拥有的关于对等方的数据

因此,从本质上讲,客户端的数据位于协议缓冲区消息中,服务器位于JPA实体中。因此,我的问题是,是否有一种方法可以在它们之间自动转换

我要找的是:

  • 从.protos文件或
  • 来自JPA实体的.protos文件生成器和
  • 某种在运行时自动在它们之间转换的方法,这样我就不必为每个新类手动创建代码
理想情况下,您可以更进一步,让它们都是相同的类(即带有JPA注释的协议缓冲区),但如果无法实现,上述方法也可以


这项工作已经完成了吗?如果没有,您认为在合理的时间内实施是可行的吗

Java协议缓冲区API希望生成类。因此,似乎很难对这些进行注释。相反,您可以从自己的XML“模式”开始,然后使用XSLT样式表:

  • 创建一个.proto文件
  • 创建JPA实体映射XML文件

  • 然后,您可以将谷歌生成的文件与JPA一起使用。

    我也喜欢这种类型的东西。特别是,能够根据JPA类的注释从JPA类生成
    .proto
    文件。其他功能(从.proto文件生成JPA实体,自动从一个转换到另一个)则不那么重要。使用XML/XSLT解决方案是一种选择,但它仍然涉及两个必须并行维护的开发构件。我想要一个解决方案,它能够只使用一个开发工件来构建这两个东西。