У меня проблема с приложением Many-To-One не работает - PullRequest
0 голосов
/ 16 октября 2018

Я использовал Spring DATA JPA из моего веб-приложения.Я стремлюсь работать с API REST crud, который использует две таблицы из MySQL.Проект является целью, тогда в БД есть 2 таблицы: Item и AutoBrand, и они являются отношениями ассоциации.Один элемент может получить больше автобрендов, чем 1. Но у моего приложения возникает проблема, из-за которой таблица автобрендов не находит идентификатор из Item TABLE.

Например: Get localhost: 8081 / autoeshop / items - 200 OK Получить localhost: 8081/ autoeshop / item / 1 / brands - 500 внутренняя ошибка сервера

Системные сообщения о сообщениях: невозможно найти атрибут с заданным именем [id] в этом ManagedType [com.autoparts.autoeshop.model.Item];вложенным исключением является java.lang.IllegalArgumentException: невозможно найти атрибут с заданным именем [id] в этом ManagedType [com.autoparts.autoeshop.model.Item]

Мой код: Item.java

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long itemID;

    private String name;
    private String provider;
    private double price;
    private int quantity;

    @OneToMany( cascade = CascadeType.ALL, mappedBy = "item")
    private Set<AutoBrand> brands;

AutoBrand.java

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long brandID;   
    private String name;
    private String model;
    private int year;

    @ManyToOne
    @JoinColumn(name="itemid", nullable = false)
    private Item item;

Элемент rep.java

public interface ItemRepository extends JpaRepository<Item, Long> {

}

AutoBrand Rep.java

public interface AutoBrandRepository extends JpaRepository<AutoBrand, Long> {

}

1 Ответ

0 голосов
/ 16 октября 2018

возможно ваш получатель getId вместо getItemID см. Spring Data JPA Невозможно найти атрибут с заданным именем

в любом случае было бы лучше опубликовать как можно большекод, как вы можете

...