У меня есть объект DSL Java, т.е. POJO, который возвращает this
в инкубационных плюс добытчиками/сеттеры имеют необычный характер именовании:Возможно ли сохранение объекта DSL Java с помощью JPA?
public class Demo {
private long id;
private String name;
private Date created;
public Demo id (long value) { id = value; return this; }
public String id() { return id; }
public Demo name (String value) { name = value; return this; }
public String name() { return name; }
public Demo created (Date value) { created = value; return this; }
public Date created() {
if (created == null) created = new Date();
return created;
}
}
Можно ли сказать JPA использовать «имя (String)» и "name()" как метод setter/getter?
[EDIT] Моя проблема - поле created
. Для этого поля я хочу, чтобы JPA использовала «getter» created()
, поэтому поле всегда будет не-NULL.
Или есть способ сообщить JPA использовать CURRENT TIMESTAMP
при создании нового объекта с created == null
?
О, забыл упомянуть, что вы должны использовать аннотации. Не знаю, работает ли это с отображением xml. : -/ – rudolfson
И если я не хочу использовать доступ к собственности? –
Вот что я упомянул. Поместите аннотации перед полями. Теперь, после того как вы отредактировали сообщение, проблема остается, что «созданный» может быть нулевым. Я думаю, вы могли бы использовать атрибут «columDefinition» аннотации @Column для определения значения по умолчанию для этого столбца (см. Главу 9.1.5 упомянутой спецификации). – rudolfson