Tôi đã bắt đầu sử dụng các giao dịch cấp phương tiện Guice như được mô tả here. Tôi có một thông báo nhưGuice @Transactional không bắt đầu giao dịch
@Inject
private EntityManager entityManager;
@Transactional
public UserSession createSession(User user, String browser) {
UserSession session = new UserSession(user, browser);
entityManager.persist(session);
}
Từ mô tả ngắn tôi nghĩ là đủ. Nhưng tôi nhận được một lỗi gây ra không có giao dịch được bắt đầu. Nó chỉ hoạt động nếu tôi bắt đầu và cam kết nó một mình.
Đối tượng được tạo bởi Guice khi bắt đầu ứng dụng của tôi trong trình khởi tạo. cùng một Instance được sử dụng cho mỗi yêu cầu.
Tại sao nó không hoạt động? Các chú thích phương thức
"Không có đối tượng và phương pháp nào được đánh dấu cuối cùng" Không nên là "Không phải lớp * cũng không phải là phương pháp được đánh dấu cuối cùng"? –
Yup, trượt của tâm trí. Đã sửa. –