jpa JpaRepository 方法中如何获取 EntityManager
时间: 2024-05-04 09:20:33 浏览: 218
在Spring Data JPA中,每个Repository都有一个EntityManager,可以通过@Autowired注入EntityManager来使用它。具体步骤如下:
1. 在Repository中定义EntityManager属性
```java
@Repository
public class UserRepositoryImpl implements UserRepository {
@PersistenceContext
private EntityManager entityManager;
// other repository methods
}
```
2. 在Service中注入Repository,通过Repository获取EntityManager
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Override
public User saveUser(User user) {
EntityManager entityManager = userRepository.getEntityManager();
// use entityManager to do some operations
return userRepository.save(user);
}
// other service methods
}
```
在Repository中,使用@PersistenceContext注解可以让Spring自动注入EntityManager。在Service中,通过注入Repository,就可以获取到Repository中的EntityManager。
阅读全文