Я делаю 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.
Есть идеи, что не так? Мне нужно "сырое" представление таблицы из базы данных для некоторой информации.
Спасибо