Предположим, модель под названием User
:Модели не сохраняются в Play Framework
@Entity
public class User extends Model {
@Id
@Constraints.Min(10)
public Long id;
@Constraints.Required
public String username;
@Constraints.Required
public String password;
public static Finder<Long, User> find = new Finder<Long, User>(
Long.class, User.class
);
}
При попытке обновить экземпляр User
в мой контроллер:
User user = User.find.where().eq("username", username).findUnique();
if(user != null) {
user.username = "some_new_username";
user.save();
}
никаких изменений не кажется, может быть совершено. Я где-то читал, что, когда вы изменяете экземпляр модели своим свойством, он не загрязняется, и поэтому изменений не происходит. Следовательно, вы должны использовать сеттер вместо этого. В документации Play Framework говорится, что эти сеттеры (и добытчиками) генерируются автоматически, но с использованием user.setUsername(username)
дает мне ошибку компиляции:
cannot find symbol [symbol: method setUsername(java.lang.String)] [location: class models.User]
я упускаю что-то?
Это действительно действительно выполнено, хотя я очень разочарован, автоматически созданный сеттер этого не сделал. Благодаря! –
Я борюсь с той же проблемой, ну, конечно, она будет работать, если я добавлю сеттеров и геттеров вручную. Почему Play Framework не генерирует сеттеры и геттеры, а в документации, о которой он говорит? –