Không chắc chắn nếu tôi hiểu TransactionAwarePersistenceManagerFactoryProxy


192

Tôi đang cố gắng sử dụng org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxydự án Mùa xuân của mình, nhưng tôi không chắc làm thế nào để sử dụng nó hay liệu đó có phải là chính xác những gì tôi đang tìm kiếm. Tôi nhận ra nó có thể giúp làm cho các DAO của tôi hoạt động với một JDO đơn giản PersistenceManagerFactory. Một câu hỏi khác là: điều gì xảy ra nếu proxy không được thực hiện đúng cách? Tôi vẫn có thể sử dụng nó để truy cập vào nhà máy của mình để tạo người quản lý kiên trì nhận biết giao dịch chứ? Nếu đối tượng được quản lý bởi nhà máy là một người độc thân, điều này có thay đổi mọi thứ không? Tại sao không truy cập trực tiếp vào PersistenceManagerFactory? Có lẽ PersistenceManagerFactoryUtils.getPersistenceManagersẽ phù hợp hơn với nhu cầu của tôi? Có thể getObjecttrả về null?


193
Cười lớn! Xin lỗi chỉ không thể giúp nó tôi gần như đã khóc khi nhìn thấy tên đối tượng.
Eric des Courtis

133
Và đây, các em thân mến, là lý do tại sao Java nên ngừng dùng thuốc.
Griwes

48
Bạn biết rằng bạn đã ở trong thế giới Java quá lâu khi những cái tên như thế này dường như không hợp lý ...!
Brian

27
Các bạn. Này các bạn, lắng nghe. Bạn đang làm sai người mới một lần nữa. Spring Framework không phải là Java và Java không phải là Spring framework. Đừng nhầm lẫn chúng.
Torben

49
Liên quan đến câu hỏi ban đầu: đây là loại trolling chất lượng cao mà tôi thực sự có thể đánh giá cao.
Torben

Câu trả lời:


20

Câu trả lời có sẵn trực tiếp trên tài liệu

Tôi nhận ra rằng nó có thể giúp làm cho các DAO của tôi hoạt động với một JDO PersistenceManagerFactory đơn giản.

Đúng. ProxyAwareAersPersistenceManagerFactoryProxy cho phép DAO hoạt động với tham chiếu JDO PersistenceManagerFactory đơn giản, trong khi vẫn tham gia quản lý giao dịch và tài nguyên của Spring (hoặc máy chủ J2EE). Bạn chắc chắn có thể sử dụng nó trong ứng dụng của bạn. Nhưng không biết nhu cầu chính xác của bạn, chúng tôi không thể xác nhận thêm.

Tôi vẫn có thể sử dụng nó để truy cập vào nhà máy của mình để tạo người quản lý kiên trì nhận biết giao dịch

Các DAO có thể chuyển đổi liền mạch giữa một JNDI PersistenceManagerFactory và proxy này cho một PersistenceManagerFactory cục bộ.

Nếu đối tượng được quản lý bởi nhà máy là một người độc thân, điều này có thay đổi mọi thứ không? Tại sao không truy cập trực tiếp vào PersistenceManagerFactory?

Thông thường nên viết DAO dựa trên JDO của bạn với JdoTemplate của Spring, cung cấp các lợi ích như ngoại lệ truy cập dữ liệu nhất quán thay vì JDOExceptions ở lớp DAO. Tuy nhiên, quản lý tài nguyên và giao dịch của Spring (và Dependency Injection) cũng sẽ hoạt động cho các DAO được viết dựa trên API JDO đơn giản.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.