3

我已经搜索了整个站点但是甚至没有一个示例说明如何使用 jdo 建立多对一关系。 https://developers.google.com/appengine/docs/java/datastore/jdo/relationships

但我不知道该怎么做。

假设我有这个数据库:

Cars(CarID,OwnerID,...)
Owner(OwnerID,...)

我想为一辆新车创建一个新实体——我怎样才能做到?

如果所有者已经在数据库中,我不想为所有者创建另一个实体,但如果他不是,我想创建新所有者。

感谢您提供有关如何处理它的任何示例代码或博客链接。

编辑:您似乎认为它的双向关系。所以我认为你没有很好地理解我。假设我们不是在谈论汽车和车主,而是在谈论流派和歌曲

流派——不需要了解歌曲!宋需要知道他的流派!

我的课程是:

public class Genre {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
long id;
@Persistent
String genre;

} 和:

public class Song{
long id;
    @Join(name="GENRE_JOIN")
Genre genre;

}

提前致谢!

4

2 回答 2

0

所有 GAE 文档都说请参阅 DataNucleus JDO 文档以获取完整详细信息,因此我不明白为什么他们应该提供所有示例。由于您的关系似乎(不是您定义的)在 Owner 侧是 1-N BIDIR 关系,在 Car 侧是 N-1 BIDIR 然后http://www.datanucleus.org/products/accessplatform_3_1/jdo/orm/many_to_one .html JDO 规范也有很多例子。

于 2012-12-04T15:29:58.127 回答
0
class Owner {
    @Persistent(mappedBy = "owner")
    private List<Car> cars;
}

class Car {
    @Persistent
    private Owner owner;
}

Car car = new Car();
//search for the owner.
car.setOwner(owner);
于 2012-12-05T06:37:44.713 回答