Java 如何在appengine上为JDO实体中的字段指定默认值?
我最近在我的一个实体中添加了不能为null的文本字段。我想为它设置一个默认值,这样在添加字段之前存储的所有实体都将填充一个空字符串。这在JDO中是可能的吗?是的,尽管不像您预期的那么简单 限制Java 如何在appengine上为JDO实体中的字段指定默认值?,java,google-app-engine,jdo,Java,Google App Engine,Jdo,我最近在我的一个实体中添加了不能为null的文本字段。我想为它设置一个默认值,这样在添加字段之前存储的所有实体都将填充一个空字符串。这在JDO中是可能的吗?是的,尽管不像您预期的那么简单 限制 void updateNullBarField() { final Text DEFAULT_BAR = new Text("bar"); PersistenceManagerFactory pmfInstance = JDOHelper .getPersistenceManagerFa
void updateNullBarField() {
final Text DEFAULT_BAR = new Text("bar");
PersistenceManagerFactory pmfInstance = JDOHelper
.getPersistenceManagerFactory("transactions-optional");
PersistenceManager pm = pmfInstance.getPersistenceManager();
Query query = pm.newQuery(Foo.class);
@SuppressWarnings("unchecked")
Collection<Foo> foos = pm.detachCopyAll((List<Foo>) query.execute());
for (Foo foo : foos) {
if (foo.bar == null) {
foo.bar = DEFAULT_BAR;
pm.detachCopy(pm.makePersistent(foo));
}
}
}
void updateNullBarField() {
final Text DEFAULT_BAR = new Text("bar");
PersistenceManagerFactory pmfInstance = JDOHelper
.getPersistenceManagerFactory("transactions-optional");
PersistenceManager pm = pmfInstance.getPersistenceManager();
Query query = pm.newQuery(Foo.class);
@SuppressWarnings("unchecked")
Collection<Foo> foos = pm.detachCopyAll((List<Foo>) query.execute());
for (Foo foo : foos) {
if (foo.bar == null) {
foo.bar = DEFAULT_BAR;
pm.detachCopy(pm.makePersistent(foo));
}
}
}
void updateNullBarField() {
final Text DEFAULT_BAR = new Text("bar");
PersistenceManagerFactory pmfInstance = JDOHelper
.getPersistenceManagerFactory("transactions-optional");
PersistenceManager pm = pmfInstance.getPersistenceManager();
Query query = pm.newQuery(Foo.class);
@SuppressWarnings("unchecked")
Collection<Foo> foos = pm.detachCopyAll((List<Foo>) query.execute());
for (Foo foo : foos) {
if (foo.bar == null) {
foo.bar = DEFAULT_BAR;
pm.detachCopy(pm.makePersistent(foo));
}
}
}
void updateNullBarField(){
最终文本默认值_栏=新文本(“栏”);
PersistenceManagerFactory pmfInstance=JDOHelper
.getPersistenceManagerFactory(“事务可选”);
PersistenceManager pm=pmfInstance.getPersistenceManager();
Query=pm.newQuery(Foo.class);
@抑制警告(“未选中”)
Collection foos=pm.detachCopyAll((List)query.execute());
for(Foo-Foo:foos){
如果(foo.bar==null){
foo.bar=默认的工具栏;
pm.detachCopy(pm.makePersistent(foo));
}
}
}