我有一个传入事件消息的mapper类。
一旦事件消息到达应用程序,mapper类就会设置实体对象中的值并将其保存在数据库中。 我已经在我的mapper类中自动化了实体对象。
每当有新事件进入时,自动装配的实体对象仍然具有旧/以前的值。
在这种情况下,域/实体对象的自动装配是否可行,或者我应该使用' New'关键字而不是自动装配为Spring bean。
我看到一些关于使用@Configurable的帖子。我不确定在这种情况下哪种编码方法最好?
@Service
public class LegacyEventMapper {
@Autowired
private LegacyEvent legacyEvent;
@Autowired
private LegacyEntity legacyEntity;
public void mapLegacyNotificationDetails(LegacyScheduleEvent body) throws Exception {
//Setting the values into the Entity object
由于
答案 0 :(得分:1)
我不知道为什么你真的想要@Autowire
和@Entity
并让它清楚地意识到。这是错的。你可以做到这一点,但这绝对没有意义。
您真正想要做的是创建一个新的LegacyEntity(通过new LegacyEntity
)并将该实例保存到DB。
您通过@Configurable
阅读的内容是另一种方式 - 您将一个spring bean / service注入实体。
答案 1 :(得分:0)
我认为我们可以@Autowire
个@Entity
类。但是然后我们需要在实体类中提到它属于请求范围
@Entity
@Scope(scopeName=WebApplicationContext.SCOPE_REQUEST, proxyMode=ScopedProxyMode.TARGET_CLASS)
public class LegacyEntity {
我不确定使用new
关键字而不是自动装配Entity类是更好的方法吗?