Skip to content

Commit 35466f0

Browse files
committed
fix: You shouldn't use @Autowired. @PersistenceContext takes care to create a unique EntityManager for every transaction (communication with the database).
https://stackoverflow.com/questions/31335211/autowired-vs-persistencecontext-for-entitymanager-bean
1 parent e700035 commit 35466f0

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/main/java/io/hexlet/blog/mapper/ReferenceMapper.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
package io.hexlet.blog.mapper;
22

3+
import io.hexlet.blog.model.BaseEntity;
4+
import jakarta.persistence.EntityManager;
5+
import jakarta.persistence.PersistenceContext;
36
import org.mapstruct.Mapper;
47
import org.mapstruct.MappingConstants;
58
import org.mapstruct.TargetType;
6-
import org.springframework.beans.factory.annotation.Autowired;
7-
8-
import io.hexlet.blog.model.BaseEntity;
9-
import jakarta.persistence.EntityManager;
109

1110
@Mapper(
1211
componentModel = MappingConstants.ComponentModel.SPRING
1312
)
1413
public abstract class ReferenceMapper {
15-
@Autowired
14+
@PersistenceContext
1615
private EntityManager entityManager;
1716

1817
public <T extends BaseEntity> T toEntity(Long id, @TargetType Class<T> entityClass) {

0 commit comments

Comments
 (0)