Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Базы данных (JDBC, JPA, Hibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2021, 12:46   #1
Степан Адамов
 
Регистрация: 14.11.2013
Сообщений: 7
По умолчанию Почему spring Data использует старое название поля таблицы БД в запросе?

По какой-то причине Spring использует имя поля в запросах при добавлении, чего я больше нигде не называю.
Раньше я использовал название «Статус разработки», а теперь «status». Так что вместо " "NEW".Статус разработки" " должен быть "status"
Почему это так?

Код:
@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "game")
public class Game
{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    @Column(name = "name")
    private String name;
    @Column(name = "budget")
    private Integer budget;
    @Column(name = "profit")
    private  Integer profit;
    @Column(name = "number")
    private  Integer number;
    @ManyToOne(optional = false, cascade = CascadeType.REFRESH)
    @JoinColumn(name = "platform")
    private  Platform platform;
    @ManyToOne(optional = false, cascade = CascadeType.REFRESH)
    @JoinColumn(name = "status")
    private Status status;
    @Column(name = "start")
    @Temporal(TemporalType.DATE)
    private Date start;
    @Temporal(TemporalType.DATE)
    @Column(nullable = true,name = "endTime")
    private Date end;
    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(name = "game_genre",
               joinColumns = @JoinColumn(name= "game_id"),
               inverseJoinColumns =  @JoinColumn(name= "genre_id"))
    private List<Genre> listGenre;



    public void update(Game new_game)
    {
        this.name = new_game.name;
        this.budget = new_game.budget;
        this.profit = new_game.profit;
        this.number = new_game.number;

        this.platform = new_game.platform;
        this.status = new_game.status;
        this.start = new_game.start;
        this.end = new_game.end;
    }
}
Ошибка:

Код:
2021-01-18 01:14:04.424 ERROR 3960 --- [nio-8080-exec-2] 
Caused by: org.postgresql.util.PSQLException: ERROR: record "new" has no field "Статус разработки"
  Где: SQL statement "SELECT NEW."Статус разработки"<>4"
PL/pgSQL function correction_data_game() line 3 at IF
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2433)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2178)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:306)
    at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
    at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:155)
    at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:132)
    at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
    at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197)
    ... 115 more
Степан Адамов вне форума Ответить с цитированием
Старый 18.01.2021, 14:50   #2
gradle
Новичок
Джуниор
 
Регистрация: 18.01.2021
Сообщений: 1
По умолчанию

Полагаю, что вы изменили имя поля в классе вашей entity, но не обновили схему бд.
gradle вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает код (Spring MVC) Nastya2018 Общие вопросы по Java, Java SE, Kotlin 10 30.04.2019 12:24
Обработка исключений в Spring Boot/Data Jpa Ruslan17 Java Базы данных (JDBC, JPA, Hibernate) 0 06.04.2018 21:31
Нужна помощь!(Java, SpringMVC, Spring Data...) boomfuksicc Фриланс 1 22.06.2017 22:51
Почему не стоит именовать поля,таблицы и любые др. объекты Firebird рус. буквами? Alexei91 SQL, базы данных 15 13.08.2010 13:06
Два столбца таблицы, во втором - поле, в первом - визуальное название этого поля Krasi HTML и CSS 1 31.07.2010 00:30