2015-04-28 8 views
0

В моих проверяемых объектах у меня есть поле creationUser, которое я бы не хотел обновлять в db на операции merge.JPA. @Column (updatable = false) в поле @ManyToOne

Вот мой код лицо:

@Column(updatable=false) 
@ManyToOne(cascade = CascadeType.MERGE) 
public User creationUser; 

Но это дает мне ошибку:

Unexpected exception 
PersistenceException: [PersistenceUnit: defaultPersistenceUnit] Unable to build EntityManagerFactory 
Caused by: org.hibernate.AnnotationException: @Column(s) not allowed on a @ManyToOne property: models.AreaOfMedicine.creationUser 

Так как я могу предотвратить от обновления этого поля? Помогите

+1

Сообщение об ошибке сообщает вам, что '@ Column' и' @ ManyToOne' не могут быть указаны вместе в этом случае. Удалите '@ Column'! –

+0

Я могу прочитать, в чем проблема. Я не хочу удалить эту аннотацию, потому что она мне нужна. Ваше решение - это не решение. – masterdany88

ответ

6

Использовать @JoinColumn(updatable = false) вместо @Column(updatable = false).

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