【发布时间】:2011-02-15 03:10:13
【问题描述】:
我对 JDO 和 GAE 都非常陌生,并且一直在努力让我的数据层完全持久化任何代码!
我面临的问题可能很简单,但无论我尝试什么解决方案,我似乎都找不到任何方法。
首先是问题:(稍微简化,但仍然包含所有必要的信息) 我的数据模型是这样的:
User:
(primary key)
String emailID
String firstName
Car:
(primary key)
User user
(primary key)
String registration
String model
这是最初的数据模型。我实现了一个 CarPK 对象来获取用户和注册的复合主键。然而,这遇到了各种各样的问题。 (我将保存另一个时间/问题)
然后我将设计更改为: 用户:(不变)
Car:
(primary key)
String fauxPK (here fauxPK = user.getEmailID() + SEP + registration)
User user
String registration
String model
这对用户来说很好,它可以插入和检索用户对象。但是,当我尝试插入汽车对象时,出现以下错误:
"Cannot have a java.lang.String primary key and be a child object"
Found the following helpful link about it:
http://stackoverflow.com/questions/2063467/persist-list-of-objects
转到那里建议的链接,该链接解释了如何创建密钥,但是他们一直在谈论“实体组”和“实体组父级”。但我似乎找不到任何解释什么是“实体组”或“实体组父母”的文章或网站
我可以尝试更多地摆弄以弄清楚我是否可以以某种方式存储一个对象,但我正在耐心地进行排序,并且也宁愿理解和实施而不是反之亦然。
因此,我将不胜感激任何涵盖所有这些要点的文档(即使它很大),并且最好有一些超出非常基本的数据建模的示例。
感谢您阅读这么长的帖子:)
【问题讨论】:
标签: java google-app-engine jdo