0
我試圖將我的應用程序從PHP和RDBMS(MySQL)遷移到Google App Engine,並且很難搞清楚JDO中的數據模型和關係。 (?):在我目前的應用程序,我使用了大量的連接查詢的,像這樣的唯一的方式來存儲數據使用無主的關係,並如何查詢無主關係模型中的JDO持久化對象?
SELECT users.name, comments.comment
FROM users, comments
WHERE users.user_id = comments.user_id
AND users.email = '[email protected]'
據我瞭解,連接查詢通過這種方式,不支持「洋」鍵。有關於這個的文檔,但沒有有用的例子。到目前爲止,我有這樣的事情:
@PersistenceCapable
public class Users {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private String name;
@Persistent
private String email;
@Persistent
private Set<Key> commentKeys;
// Accessors...
}
@PersistenceCapable
public class Comments {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private String comment;
@Persistent
private Date commentDate;
@Persistent
private Key userKey;
// Accessors...
}
所以,我怎麼與評論者的名稱,註釋和日期在一個查詢列表?我看到我可能可以逃脫3個查詢,但這似乎是錯誤的,並會造成不必要的開銷。請幫我看一些代碼示例。
- Paul。
同時執行連接會創建開銷。我寧願在'Users'對象上放置'Set'而不是'Set '。我建議在類名中也使用單數。 –
hleinone
2010-06-14 16:57:13