我尝试存储一个由我自己使用objectify编写的类的对象。这个班是:
import com.googlecode.objectify.annotation.Entity;
import com.googlecode.objectify.annotation.Id;
@Entity
public class Group {
@Id
private Long id;
private String name;
private List<UserBalance> userBalanceList;
//getters and setters for all fields
}
UserBalance类是:
import org.joda.money.BigMoney;
import com.google.appengine.api.users.User;
import com.googlecode.objectify.annotation.Entity;
import com.googlecode.objectify.annotation.Id;
@Entity
public class UserBalance {
@Id
private Long id;
private User user;
@com.sappenin.objectify.annotation.Money
private BigMoney money;
//getters and setters for all fields
}
现在我得到的是:
com.googlecode.objectify.SaveException: Error saving mypkg.Group@1325bad7:
userBalanceList: mypkg.UserBalance is not a supported property type.
at com.googlecode.objectify.impl.Transmog.save(Transmog.java:105)
at ........
我在objectify服务中注册了UserBalance类。我使用自己的OfyService类来注册它们,如下所述:https://code.google.com/p/objectify-appengine/wiki/BestPractices#Use_Your_Own_Service
对我来说,看起来我的Group类中的userBalanceList只是一个嵌入式实体,如下所述: https://code.google.com/p/objectify-appengine/wiki/Entities#Embedding_Entities
当我试图将UserBalance的对象单独存储(而不是作为Group的一部分)时,它可以工作。 当我从Group类中删除userBalanceList字段时,它也可以工作。
有什么不对?有人能帮助我吗?
答案 0 :(得分:0)
您正尝试使用Objectify v4使用Objectify v5对象定义。确保你的类路径上有正确的Objectify jar。