Сохранение объекта / объекта в Playframework - PullRequest
2 голосов
/ 27 декабря 2011

Привет всем, я новичок в playframework и JPA

1-й, я создал бин сущности User, как показано ниже

@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;
}
}

Затем я создал менеджер данных, который сохраняет содержимое в памяти для воспроизведения. как показано ниже

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: не удалось установить значение поля с помощью установщика отражения моделей .AppUser.uid

play.exceptions.JavaExecutionException: org.hibernate.PropertyAccessException: не удалось установить значение поля установщиком отражения моделей .AppUser.uid

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

Ваш класс 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.

Подробнее об этом можно прочитать здесь .

1 голос
/ 27 декабря 2011

Похоже, что Hibernate ищет установщик для вашего свойства uid.Вы предоставили этот сеттер или только планировали предоставить прямой доступ к публичной собственности?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...