Как выполнить запрос, который будет отделяться по определенному символу в репозитории Springboot, используя Java - PullRequest
0 голосов
/ 11 июня 2018

Я хочу разделить данные результата с запросом на "~" внутри того же объекта, чтобы отделить данные другого объекта на ","

Мой код

mainRepository.java

public interface mainRepository extends CrudRepository<Error, Long> {

    @Query(value= "SELECT * FROM Error t where t.applicationID = :applicationid", nativeQuery= true)
    List<Error> findListByApp(@Param("applicationid") String applicationid);
}

и в другом классе я вызываю эту функцию

String cb = errorRepository.findListByApp("application1").toString();
System.out.println(cb);

результат, если я выполняю cb, равен

[com.info.main.Error@6ec8b40e, com.info.main.Error@6ec8b40e, com.info.main.Error@6ec8b40e]

Я хочу сохранить сортировку по приложениям, затем по имени, затем по электронной почте.

результат, которого я хочу достичь, таков:

[app1~name1~email1, app2~name2~email2, app3~name3~email3]

1 Ответ

0 голосов
/ 11 июня 2018

Почему вы используете toString со списком результатов?

String cb = errorRepository.findListByApp("application1").toString();//why toString?

Вместо этого вы должны использовать список следующим образом:

List<Error> result = errorRepository.findListByApp("application1");
//this will print the list or Error it will call to String for each error
System.out.println(result);

, чтобы показать результат, который вам нужно просто переопределить toString метод в вашей сущности ошибки с форматом, который вы хотите, например.

@Entity
public class Error {

    private String app;
    private String name;
    private String email;

    //getter setter

    @Override
    public String toString() {
        return app + "~" + name + "~" + email;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...