Я хочу сохранить экземпляр моего класса в objectdb.
@Entity
public class MyClazz {
@Column(nullable = false)
DateTime date;
}
В спящем режиме мне просто нужно аннотировать поле дополнительной аннотацией.
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
Но поскольку я хочу использовать objectdb, я не могу использовать эту аннотацию, поэтому получаю исключение («Попытка сохранить экземпляр не сохраняемого типа org.joda.time.DateTime»)
Проблема в том, что objectdb отключает «поддержку» для сериализуемых типов. (см. здесь) Я почти уверен, что они делают это для веская причина, поэтому хочу сохранить это таким образом.
В качестве обходного пути на данный момент я использую хук pre и post.
@Column(nullable = false)
private Date date = new Date();
@Transient
private DateTime dateTime;
@PrePersist
private void persist() {
date = dateTime.toDate();
}
@PostLoad
private void load() {
dateTime = new DateTime(date.getTime());
}
Мой вопрос: есть ли другой способ? Я хочу избавиться от дополнительного поля даты.