2010-02-19 1 views
1

Интересно, если есть какое-либо определение JPA для поведения, если вы устанавливаете равное значение для любого свойства. Я не нашел слов в спецификации.Определяет поведение JPA для повторного задания одинакового значения?

Я протестировал с помощью TopLink Essentials и Hibernate, что произойдет, если я загружу объект из базы данных и снова задал свойство с тем же значением.

@Entity 
public class MyEntity { 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Integer id; 

    @Column(length = 20) 
    private String value; 

    @Version 
    private long version; 

    // Define setter and getter... 
} 

Установка одинаковое значение с

entity.setValue(new String(myChars)); 

не изменяет значение версии.

Могу ли я ожидать такого поведения для каждой реализации. Я так не думаю ...

ответ

1

Значит, вы устанавливаете значение на одно и то же, поэтому оно не изменилось, так почему же должно произойти что-нибудь? DataNucleus ничего не изменит ... поскольку ничего не изменилось. QED

+0

Вопрос в том, могу ли я рассчитывать на это при каждой реализации, или нет. – marabol

+0

Спецификация JPA заведомо неопределенна в отношении нескольких вещей, и, поскольку вы не можете найти ничего конкретного об этом конкретном действии, тогда НИКА НИКАКИХ ничего не стоит. – DataNucleus

 Смежные вопросы

  • Нет связанных вопросов^_^