나는 데이터베이스에 이미 많은 기존 데이터를 가지고 있으며, 그들이하는 행동에 따라 각 사용자의 점수를 계산하는 포인트 메커니즘을 개발하려고합니다.스프링에서 포인트 시스템 설계하기
이 기능은 플러그 가능한 방식으로 구현되므로 기본 로직과 독립적이며 엔티티가 수정 된 후에 보내지는 Spring 이벤트에 의존합니다.
문제는 기존 데이터를 어떻게 처리해야하는지입니다. 지금부터 포인트를 수집하기 시작하고 싶지는 않지만 지금까지 모든 데이터를 포함하고 있습니다.
이렇게하는 가장 효과적인 방법은 무엇입니까? 내 시스템이 데이터베이스에서 모든 단일 엔티티를 가져오고, EntityDirtyEvent를 보내고, 포인트 플러그인을 시작하고, 각각에 대해 업데이트하도록 index() 메소드를 제공하는 방식으로 플러그인을 디자인해야합니까? 포인트를 각 엔티티 옆에 저장하도록합니다. 오버 헤드가 많이 발생할 수 있습니다.
가장 간단한 것은 복잡한 저장 프로 시저를 만든 다음 저장 프로 시저의 index() 호출을 만드는 것입니다. 그러나 나에게는 나쁘다고 생각됩니다. 어쨌든 자바에서 포인트를 계산하기위한 논리를 작성해야 할 것이므로 SQL로 다시 한 번 가져야합니다. 또한 일반적으로 비즈니스 논리를 다른 계층으로 분할하는 팬이 아닙니다.
이전에이 작업을 수행 한 사람이 있습니까? 도와주세요.