ProjectHistoryQueryService.java
package de.mirkosertic.powerstaff.project.query;
import org.springframework.jdbc.core.simple.JdbcClient;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
@Transactional(readOnly = true)
public class ProjectHistoryQueryService {
private final JdbcClient jdbcClient;
public ProjectHistoryQueryService(final JdbcClient jdbcClient) {
this.jdbcClient = jdbcClient;
}
public List<ProjectHistoryView> findByProjectId(final Long projectId) {
return jdbcClient.sql("""
SELECT id, creation_date, creation_user, changed_date, changed_user, description, project_id
FROM project_history
WHERE project_id = :projectId
ORDER BY creation_date DESC
""")
.param("projectId", projectId)
.query(ProjectHistoryView.class)
.list();
}
}