反序列化java.timeLocalDateTime以在休眠实体中使用

时间:2018-10-17 13:20:13

标签: java hibernate deserialization

我有我的休眠实体: Todo.java

@Entity
@Table (name = "todo")
public class Todo {
    private int id;
    private String title;
    private String description;
    private LocalDateTime dueDate;
    private boolean done;
    private int userId;
    private User userByUserId;

    @Id
    @Column (name = "id", nullable = false, insertable = false, updatable = false)
    public int getId() {   return id;  }
    public void setId(int id) { this.id = id; }

    @Basic
    @Column (name = "title", nullable = false, length = 100)
    public String getTitle() { return title; }
    public void setTitle(String title) {  this.title = title;  }

    @Basic
    @Column (name = "description", length = 512)
    public String getDescription() { return description;  }
    public void setDescription(String description) { this.description = description; }

@Basic
@Column (name = "due_date")
public LocalDateTime getDueDate() { return dueDate;}
public void setDueDate(LocalDateTime dueDate) { this.dueDate = dueDate; }

    @Basic
    @Column (name = "done")
    public boolean isDone() { return done; }
    public void setDone(boolean done) { this.done = done;}

    @Basic
    @Column(name = "user_id", nullable = true, insertable = false, updatable = false)
    public int getUserId() {return userId; }
    public void setUserId(int userId) { this.userId = userId; }

    @ManyToOne
    @JoinColumn(name = "user_id", referencedColumnName = "id")
    public User getUserByUserId() {return userByUserId; }
    public void setUserByUserId(User userByUserId) {this.userByUserId = userByUserId; }
}

使用这样的实体时,出现此错误

org.hibernate.type.SerializationException: could not deserialize

因此,我将“ dueDate”类型更改为java.util.Date,它可以正常工作,因此我假定无法对LocalDateTime进行反序列化。 我的问题是序列化java.time.LocalDateTime的正确方法是什么。

我的堆栈: Java 8 休眠:4.2.2-最终。

0 个答案:

没有答案