2011-08-22 73 views
19

Tôi đã bắt đầu một dự án mới với Hibernate. Là chú thích Hibernate một sự lựa chọn tốt hơn hoặc là Hibernate XML mapping tốt hơn?Chú thích Hibernate hoặc cấu hình XML

Tôi đã sử dụng Hibernate với cấu hình XML, nhưng tôi không có ý tưởng về chú thích.

  1. có bất kỳ vấn đề nào trong khi đi triển khai dựa trên chú thích không?
  2. việc duy trì ứng dụng dễ dàng hơn hoặc phức tạp hơn với chú thích dựa trên?
  3. cái nào tốt hơn (nghĩa là chú thích hoặc ánh xạ XML) và cái nào được sử dụng rộng rãi? Tại sao?
  4. Nếu tôi sử dụng cơ sở dữ liệu khác ở cấp độ khác, tức là sản xuất hoặc tích hợp hoặc cấp phát triển, tôi có cần phải thay đổi mã không?

Lưu ý: Tôi không so sánh hai công nghệ, nhưng tôi muốn biết cái nào (nghĩa là, theo hai cách) sẽ được sử dụng trong ứng dụng với công nghệ mới nhất.

Trả lời

20

Chú thích là lựa chọn tốt hơn cho một ứng dụng mới, vì nó làm cho ứng dụng này không có tệp XML. Nó cũng ít mã và bảo trì rất dễ dàng. Nó cũng giúp tái cấu trúc ứng dụng (với IDE như Eclipse/NetBeans, vv), đó là vấn đề với XML vì bạn cần thay đổi nó theo cách thủ công.

Đáp:

  1. Không có vấn đề, bạn có thể sử dụng JSR 330 API (dependency injection cho Java) mới nhất giúp cho các chú thích tương tự cho một JSF quản lý đậu (sử dụng @Named thay vì @managedbean), các SpringIoC lớp và Hibernate, do đó toàn bộ lớp, bạn sẽ có một khái niệm chú thích duy nhất thay vì một khuôn khổ cụ thể.

  2. Bảo trì dễ dàng đặc biệt là tái cấu trúc mã, ít hoặc không có tệp XML và học tập mới. Sử dụng chú thích dựa trên JPA với Hibernate. Bạn có thể tìm thấy một số mẫu trong google.

  3. Sử dụng rộng rãi XML dựa trên kể từ khi bắt đầu, nhưng đối với chú thích ứng dụng mới thì tốt hơn và hoàn thiện hơn.

  4. Để thay đổi bất kỳ cơ sở dữ liệu nào, mã sẽ vẫn giữ nguyên trong chú thích hoặc XML, chỉ bạn cần thay đổi giá trị tệp thuộc tính.

8

Chú thích mới hơn và là cách làm chuẩn cho các ứng dụng JPA.

Tôi thấy chúng dễ sử dụng hơn XML, nhưng đó là vấn đề về hương vị và trải nghiệm. Sử dụng chúng sẽ làm cho bạn

  • học được điều gì mới
  • sẵn sàng để bắt đầu một dự án JPA-based (có thể sử dụng thực hiện khác)

Tôi chưa bao giờ trong một tình huống mà tôi cần XML bởi vì chú thích không cho phép tôi làm những gì tôi muốn.

+0

cảm ơn bạn đã trả lời. chúng tôi không có kế hoạch sử dụng JPA. học tập mới khác với đề xuất một công nghệ tốt hơn cho một cuộc sống lâu dài của dự án. – TechFind

+0

Hibernate LÀ triển khai JPA. Các chú thích được Hibernate sử dụng là các chú thích JPA. –

+1

@JBNizet có bất kỳ khác biệt hiệu suất nào bằng cách sử dụng XML hoặc Chú thích trong một ứng dụng Spring không? – kamaci

1

Trước khi chú thích chỉ có một cách để thực hiện điều đó - XML. Nếu bạn sử dụng chú thích, bạn sẽ có tất cả ở một nơi, do đó việc hiểu và duy trì nó sẽ dễ dàng hơn.

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