I'm using Morphia 0.99 and I'm trying to update an embedded field in an entity, but I don't see how.
// User entity
@Entity(value = "users", noClassnameStored = true)
public class User
{
@Id
private String id;
@Embedded
private UserConfig userConfig;
}
// User DAO
public class UserDao extends BasicDAO <User, ObjectId> implements IUserDao
{
@Override
public void setConfig (String userId, UserConfig config)
{
User user = get (new ObjectId (userId));
user.setNotificationsTypes (notitypes);
"this.update(user);"
}
}
This page suggests something this:
// User DAO
public class UserDao extends BasicDAO <User, ObjectId> implements IUserDao
{
@Override
public void setConfig (String userId, UserConfig config)
{
Query <User> query = ds.createQuery (User.class).field (idString).equal (userId);
UpdateOperations <User> ops = ds.createUpdateOperations (User.class).set ("userConfig.someField", "Some Value");
ds.update (updateQuery, ops);
}
}
But I want to update the whole embedded field, not each subfield one by one. How can I do that? Thanks!