我有一个名为User的实体。 我有另一部实体电影。
我希望用户有一个列表。 但是我的代码有很多异常。 你能解释一下如何做到这一点吗?
谢谢
答案 0 :(得分:1)
User
和Movie
之间的关系示例可能看起来像这样:
用户类:
import java.util.Set;
import com.google.appengine.api.datastore.Key;
public class User {
@Persistent
private Set<Key> ownsMovies;
public void addMovie(Movie movie) {
// We remember to maintain the relation both ways.
ownsMovies.add(movie.getKey());
movie.getOwners().add(getKey());
}
public void removeMovie(Movie movie) {
// We remember to maintain the relation both ways.
ownsMovies.remove(movie.getKey());
movie.getOwners().remove(getKey());
}
}
电影课。
import java.util.Set;
import com.google.appengine.api.datastore.Key;
public class Movie {
@Persistent
private Set<Key> owners;
}
答案 1 :(得分:0)
也许仍有兴趣:有another nice Stackoverflow answer使用JDO或JPA来解释这个很好。
答案 2 :(得分:-2)
appengine中没有引用列表属性。您仍然可以使用db.ListProperty(db.Key)来存储任何实体密钥的列表。
模型:
class User(db.Model):
movie_list=db.ListProperty(db.Key)
class Movie(db.Model):
name=db.StringProperty()
的观点:
user=User()
movies=Movie.gql("")#The Movie entities you want to fetch
for movie in movies:
user.movie_list.append(data)
///这里movie_list存储数据实体的键
Data.get(user.movie_list)将获取其密钥位于data_list属性中的所有Movie实体