在App Engine模块之间共享实体

时间:2015-12-15 13:56:41

标签: google-app-engine jpa android-studio

我正在从Eclipse迁移到Android Studio,并将Android应用程序连接到AppEngine。 我已将服务器端拆分为两个模块(端点和面向用户的请求的默认模块)和后端内容的“admin”模块。 现在这两个模块都需要使用实体。 (后端模块通常负责将这些实体保存到DB,而前端默认模块是使用这些实体将数据返回给Android的模块。)

在Android Studio中这两个模块之间共享这些实体类的最佳方法是什么?(同时确保这些类得到增强等)。我不希望在默认模块和管理员中都有重复的类。 也许在两者之间共享一个共同的“java”模块(但不确定类增强是否有效)。或者管理模块是否应该使用实体,而是使用其他持久性方法?

欣赏你的想法。

1 个答案:

答案 0 :(得分:3)

虽然可能有理由不共享代码,但我个人更喜欢DRY。

我通过将模型定义文件放在app dir app/models.yaml中并将sym链接到每个模块子{{1}中,用 Python 后端解决了DRY精神问题因此,确保所有模块都能看到相同的模型定义。在部署时,符号链接会自动替换为符号链接的文件的实际内容。来自appcfg.py update

  

该命令遵循符号链接并递归上传所有文件到   服务器。临时或源控制文件,例如foo~,.svn / *   跳过。

可能需要小心同时部署所有模块。

我使用相同的技术通过模块将公共代码与公共代码共享,并根据需要将app/module_blah/models.yaml子目标符号链接到所需的app/lib/libX

不确定这种技术是否可用于Java,