带JPA的协议缓冲区

Yrl*_*lec 6 java jpa protocol-buffers

我目前正在构建一个P2P系统,它使用协议缓冲区来实现对等体之间的所有通信.系统中还有一些集中的部分,其中对等体与服务器通信.服务器使用JPA存储有关对等体的数据.

基本上,客户端的数据在Protocol Buffers-messages中,而服务器在JPA-entities中.我的问题是,如果有办法在它们之间自动转换?

我正在寻找的是:

  • 来自.protos-files OR的JPA实体的生成器
  • 来自JPA实体AND的.protos文件的生成器
  • 在运行时自动在它们之间进行转换的一些方法,所以我没有为每个新类手动创建代码.

理想情况下,你可以更进一步,让它们都是相同的类(即带有JPA注释的协议缓冲区),但如果这是不可能实现的,那么上面也可以.

这是否已经完成,如果不是,您认为在合理的时间内实施是否可行?

Dav*_*ave 2

Java Protocol Buffers API 想要生成类。所以看起来很难对它们进行注释。相反,您可以从自己的 XML“模式”开始,然后使用 XSLT 样式表:

  1. 创建 .proto 文件
  2. 创建 JPA 实体映射 XML 文件。

然后您可以将 google 生成的文件与 JPA 一起使用。