SELECT * от пользователей не возвращает никаких строк, в то время как страница ElephantSQL говорит, что в таблице пользователей есть 5 строк - PullRequest
1 голос
/ 07 июля 2019

Я делаю REST API в Spring Boot, и я выбрал ElephantSQL (Postgresql, elephantsql.com) в качестве «провайдера» своей базы данных. Код ниже показывает сущность «Пользователь», которая переведена в таблицу пользователей в базе данных.

Я вставляю несколько значений в эту таблицу при запуске через весеннюю загрузку. Когда я получаю к ним доступ через мой API, например, localhost:8080/users, все работает нормально, и пользователи отображаются как json с правильными идентификаторами и другими свойствами.

НО, в то время как моя страница браузера базы данных на elephantsql.com сообщает, что есть таблица "users" и она содержит, например, теперь 5 строк, делая запрос SELECT * from users, или SELECT * from "users", или SELECT * from "whatever name I'll put in @Table(name = "<name>")", возвращает NO РЯДЫ.

Я пытался изменить имя таблицы с пользователей на что-то еще, но это не работает. Изменение GenerationType с IDENTITY на, например, AUTO тоже не помогает. Изменение имени объекта тоже.

//Base Entity
@MappedSuperclass
public class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

protected BaseEntity() {
    id = null;
}

//Id Getter and setter
}

//User Entity
@Entity
@Table(name = "users")
public class User extends BaseEntity {
@Size(min = 3, max = 15)
private String username;

private String firstName;
private String lastName;

@Size(min = 3, max = 25)
private String password;

@NotNull
private String [] roles;

@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
private List <Trip> userTrips;

protected User() {
    super();
};

public User(String username, String password, String firstName, String 
lastName, String [] roles) {
    this.username = username;
    this.password = password;
    this.firstName = firstName;
    this.lastName = lastName;
    this.roles = roles;
}

//Getters and Setters
}

Когда я делаю SELECT * from users, появляется только зеленое всплывающее окно с сообщением «Запрос завершен», но возвращается «Нет строк». Но я уверен, что эти строки существуют, потому что ElephantSQL предлагает эту страницу «Статистика», которая говорит, что в таблице пользователей есть 5 строк. И, конечно, API показывает все отлично, а его ресурсы основаны на этой базе данных elephantsql.

Есть идеи, что не так? Мне нужно "сырое" представление таблицы из базы данных для некоторой информации.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...