Java 在游戏框架中更新用户
我正在尝试使用以下代码更新MySQL数据库中的用户对象:Java 在游戏框架中更新用户,java,playframework,ebean,Java,Playframework,Ebean,我正在尝试使用以下代码更新MySQL数据库中的用户对象: public static Result updateUser(){ User current_user = User.find.byId(request().username()); String id = current_user.email; Form<User> filledForm = Form.form(User.class).bindFromRequest(); filledFo
public static Result updateUser(){
User current_user = User.find.byId(request().username());
String id = current_user.email;
Form<User> filledForm = Form.form(User.class).bindFromRequest();
filledForm.get().update(id);
return redirect(routes.DashboardController.dashboard());
}
然后我得到以下错误:[RuntimeException:数据源用户为空?]
经过一些测试后,我已经能够通过添加一个长id作为@id而不是使用字符串电子邮件作为@id来工作,但是这使得从会话中获取登录用户变得很麻烦
所以我想知道的是:当用户的id是字符串时,有没有办法用新字段更新用户?我不能对你的问题发表评论,所以我必须在答案中写下它。这个问题很奇怪。我有一个类似的星座,使用一个字符串作为id,它更新没有问题。 当用户的id是字符串时,有没有办法用新字段更新用户?如果我理解的没错,您希望在更新数据库中的用户表时向其添加新字段,还是要更新此用户的新字段? 例外情况:您确定用户在数据库中吗?
另外非常感谢您的回答。这样做非常有效:
@Entity
public class User extends Model {
@Id
public String email;
public String password;
public String name;
public Date dob;
public int weight;
public int height;
public String gender;
...etc