2011-11-02 32 views
33

Tôi đang cố gắng cập nhật lên Hibernate 4 và tôi nhận được rằng org.hibernate.annotations.Entity không còn được dùng nữa. Tuy nhiên, không có tài liệu nào có vẻ như chỉ ra rằng đây là trường hợp. Bất cứ ai có bất kỳ cái nhìn sâu sắc về điều này?org.hibernate.annotations.Entity không được chấp nhận trong Hibernate 4?

@org.hibernate.annotations.Entity(dynamicUpdate = true) 

Trả lời

30

Có nó bị phản đối trong 4.0 +:

Deprecate org.hibernate.annotations.Entity 
Its individual attributes/values should become annotations. 
Schedule for removal in 4.1 

Bạn nên sử dụng @DynamicUpdate thay

Đây là một fixed JIRA nói về nó.

+0

Cảm ơn. Trên lưu ý này, việc nâng cấp lên Hibernate 4 đang chứng minh một chút khó khăn. Tôi thậm chí không thể tạo một nhà máy phiên: – MTR

+0

Lưu ý rằng chú thích '@ DynamicInsert' cũng tồn tại. –

6

Từ Hibernate Getting Started Guide:

Các @javax.persistence.Entity chú thích được sử dụng để đánh dấu một lớp học như một thực thể. Nó hoạt động giống như phần tử ánh xạ lớp được thảo luận trong Phần 2.3, "Tệp ánh xạ". Ngoài ra, chú thích @javax.persistence.Table chỉ định rõ tên bảng . Không có đặc tả này, tên bảng mặc định sẽ là EVENT).

Vì org.hibernate.annotations.Entity đã không được chấp nhận, bạn nên sử dụng chú thích Java EE. Ngoài ra, như tolitius đã đề cập, đối với cấu hình chú thích của @org.hibernate.annotations.Entity, bạn nên sử dụng chú thích tương ứng, ví dụ: @DynamicUpdate.

Hy vọng điều đó sẽ hữu ích.


Lưu ý: Event là tên của lớp mà được chú thích trong ví dụ, đây là lý do tại sao nó khẳng định "tên bảng mặc định sẽ là EVENT".

2

Vì mục đích trong tương lai, vui lòng tham khảo danh sách API không dùng nữa cho Hibernate 4.0. Liên kết như sau: - Deprecated API

Các vấn đề liên quan