我目前正在开发一个使用 Google App Engine 托管的网络服务的移动应用程序。
但我面临一个问题。我只想在我的数据库表中添加一个字段。App Engine 不使用经典的 SQL 语法,而是使用 GQL。所以我不能使用 ALTER TABLE 语句。我怎么能用 GQL 做到这一点?我在网上寻找解决方案,但没有太多帮助。
public MyEntity() {
}
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Key idStation;
private String name;
private double longitude;
private double latitude;
private java.util.Date dateRefresh = new Date(); //the field i want to add in DB
所以,现在当我创建一个“MyEntity”对象时,它应该将“dateRefresh”字段添加到数据库中......我创建我的对象是这样的:
MyEntity station = new MyEntity();
station.setName("test");
station.setLatitude(0);
station.setLongitude(0);
station.setDateRefresh(new Date("01/01/1980"));
DaoFactory.getStationDao().addStation(station);
addStation 方法:
@Override
public MyEntity addStation(MyEntity station) {
EntityManager em = PersistenceManager.getEntityManagerFactory().createEntityManager();
try {
em.getTransaction().begin();
em.persist(station);
em.getTransaction().commit();
} finally {
if(em.getTransaction().isActive()) em.getTransaction().rollback();
em.close();
}
return station;
}
永远不会在我的数据库中创建字段“dateRefresh”...
有人帮我吗?
提前致谢