【发布时间】:2015-01-26 17:13:43
【问题描述】:
我正在编写一个从 play.db.ebean.Model 扩展的 Play 框架实体,并从 eclipse 中收到此警告:
The serializable class user does not declare a static final serialVersionUID field of type long
谁能给我解释一下? play.db.ebean.Model (http://www.playframework.com/documentation/2.0.3/api/java/play/db/ebean/Model.html) 没有实现可序列化,我的 User 类也没有,所以我不明白为什么 eclipse 会抛出警告。
这是我的代码的重要部分:
package models;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException;
import javax.persistence.Entity;
import javax.persistence.Id;
import crypto.PasswordHash;
import play.Logger;
import play.db.ebean.Model;
import play.data.validation.*;
@Entity
public class User extends Model {
@Id
@Constraints.Email
private String email;
@Constraints.Required
private String name;
@Constraints.Required
@Constraints.MinLength(5)
private String password;
@Constraints.Min(0)
private Integer rating;
...
}
【问题讨论】:
-
猜测是这个要求是通过
@Entity引入的(因为Java EE 5 实体必须是可序列化的)。 -
不是真正的重复,我不是想理解为什么我应该添加变量,而是为什么我应该实现可序列化,或者为什么我应该添加变量,当我不实现接口时。
标签: java jakarta-ee serialization model playframework