We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
현재 검색 시 id desc로 리턴 됩니다. 가나다 순으로 리턴되는게 직관적일 거 같습니다.
The text was updated successfully, but these errors were encountered:
변경하려고
@Query("SELECT u " + "FROM User u " + "WHERE u.name LIKE CONCAT('%', :name, '%') " + "ORDER BY " + "CASE " + "WHEN u.name = :name THEN 1 " + "WHEN u.name LIKE CONCAT('%', :name, '%') THEN 2 " + "ELSE 3" + "END, u.name") List<User> findAllByNameContaining(@Param("name") String name, Pageable pageable); @Query("SELECT u " + "FROM User u " + "WHERE u.name LIKE CONCAT('%', :name, '%') AND u.id < :key " + "ORDER BY " + "CASE " + "WHEN u.name = :name THEN 1 " + "WHEN u.name LIKE CONCAT('%', :name, '%') THEN 2 " + "ELSE 3" + "END, u.name") List<User> findAllByNameContainingAndIdLessThan(@Param("name") String name, @Param("key") Long key, Pageable pageable);
이런 query를 짰는데 생각해보니 무한스크롤 방식이라 정렬을 바꿔버리면 key를 쓸 수 없다는 걸 알았습니다.
이부분을 변경하려면 커서기반 페이징이 아닌 일반 오프셋 기반 페이징으로 변경해야합니다.
추가적인 토의가 필요해 보여 수정하지 않고 놔두겠습니다.
현재 상황에서
볼링조아를 검색했을 때, 볼링조아보다 늦게 가입한 볼링조아1가 존재한다면 볼링조아1가 더 위로 올라올겁니다.
볼링조아
볼링조아1
볼링조아라고 풀닉네임을 검색했으면 맨위로 올라오는게 정상같은데 이런 점이 UX를 해칠것 같습니다.
Sorry, something went wrong.
오프셋 페이징으로 변경시 UI가 무한스크롤 방식이라 같은 요소가 2개 생기는 문제가 발생할 수도 있습니다.
유저 가입이 빈번하진 않을 것이니 이정도 UI 버그는 감안한다고 치면 api 구조를 최대한 변경하지 않도록 nextCursorKey의 key를 page로 삼는 방식이 가능할 것입니다.
key로 전달된 값을 page로 간주하여 변경하면 기존 api를 사용하던 프론트에 영향이 가지 않으며 변경 가능합니다.
추후 중복 요소 발생 가능성에 대한 UI 버그는 무한스크롤에서 페이지 방식으로 프론트측에서 시간 날 때 바꾸면 될 겁니다.
그전에 저희끼리 어떻게 하는 게 나을지 이야기 해보면 좋겠습니다!
No branches or pull requests
Description
현재 검색 시 id desc로 리턴 됩니다. 가나다 순으로 리턴되는게 직관적일 거 같습니다.
Tasks
The text was updated successfully, but these errors were encountered: