【问题标题】:Saving an object/entity in a Playframework在 Playframework 中保存对象/实体
【发布时间】:2011-12-27 08:59:12
【问题描述】:

大家好,我是 playframework 和 JPA 的新手

第一次我创建了一个用户实体 bean,如下所示

@Entity

@Table(name="m_users")

public class AppUser {

@Id
    @GeneratedValue 
public  int uid;

@Required
@MaxSize(100)
public @Column(name="user_name") String userName;

@Required
@MaxSize(20)
public @Column(name="pass") String password;

public AppUser(int uid, String userName, String password) {
    this.uid = uid;
    this.userName = userName;
    this.password = password;
}
}

然后我创建了一个数据管理器,将内容保存到 playframework 的内存中 如下图

public class DataManager extends JapidController {
    public static void cuser() {

        AppUser user = new AppUser();
        user.password = "secret";
        user.userName = "jonathan@gmail.com";      
        user.save();
        renderJapid(user);
    }
}

我得到的是以下错误

PersistenceException 发生:org.hibernate.PropertyAccessException: 无法通过 models.AppUser.uid 的反射设置器设置字段值

play.exceptions.JavaExecutionException: org.hibernate.PropertyAccessException: 无法通过 models.AppUser.uid 的反射设置器设置字段值

【问题讨论】:

    标签: hibernate jpa playframework


    【解决方案1】:

    您的 AppUSer 类应如下所示:

    @Entity
    @Table(name = "m_users")
    public class AppUser extends Model {
    
        @Required
        @MaxSize(100)
        public @Column(name = "user_name")
        String userName;
    
        @Required
        @MaxSize(20)
        public @Column(name = "pass")
        String password;
    
        public AppUser(String userName, String password) {
            this.userName = userName;
            this.password = password;
        }
    
    }
    

    如你所见,它应该扩展 Model,它已经实现了生成的 id 值。

    您可以阅读更多关于 here 的信息。

    【讨论】:

    • 在这种情况下,如果我有另一个班级说我需要用户和用户参考的消息。 ???
    • 看上面回答中提到的页面上的Post类,注意@ManyToOne注解......
    • @PrimosK 我也有类似的问题。你愿意帮助我吗?这是链接:stackoverflow.com/questions/25295695/…
    【解决方案2】:

    听起来 Hibernate 正在为您的 uid 属性寻找 setter。您是否提供了这个 setter,或者您只是打算提供对公共财产的直接访问?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 2023-01-25
      相关资源
      最近更新 更多