Неизвестный столбец при попытке добавить данные в базу данных - PullRequest
0 голосов
/ 12 июня 2019

Я работаю над простым проектом CRUD с использованием Spring, Hibernate и JPA.Это базовая купонная система, объект Coupon имеет параметры, один из них - тип купона. При наборе значений в jsp, который привязан к серверу:

<h1> Create Coupon </h1>


<form:form action="company/create" method="POST" modelAttribute="theCoupon">

<input name="title"/>
<input name="startDate"/>
<input name="endDate"/>
<input name="amount"/>
<input name="message"/>
<input name="price"/>
<input name="image"/>
<select name="couponType">
<option>SPORTS</option>
<option>GAMING</option>
</select>

<input type="submit" value="submit">
</form:form>

это контроллер:

@PostMapping("/add")
    public String newCoupon(Model theModel) {
        List<CouponType> couponType = new ArrayList<CouponType>( Arrays.asList(CouponType.values()));
        System.out.println(couponType);
        theModel.addAttribute("couponType", couponType);
        theModel.addAttribute("theCoupon", new Coupon());

        return "add";
    }

    @RequestMapping("/create")
    public String add(@ModelAttribute("theCoupon") Coupon theCoupon) {
        theCoupon.setId(0);
        System.out.println(theCoupon);
        couponService.save(theCoupon);

        return "savedCoupon";
    }

Я получаю эту ошибку:

java.sql.SQLSyntaxErrorException: Unknown column 'coupon0_.coupon_type' in 'field list'

Вот изображение структуры базы данных, имена совпадают, я понятия не имею, в чем проблема.

enter image description here

Кроме того, вот купон Pojo:

@Entity
@Table(name = "coupon")
public class Coupon {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private long id;
@Column(name = "title")
private String title;
@Column(name = "startDate")
private String startDate;
@Column(name = "endDate")
private String endDate;
@Column(name = "amount")
private int amount; // decrease ammount on ever customer purchase
@Column(name = "couponType")
private String couponType;
@Column(name = "message")
private String message;
@Column(name = "price")
private double price;
@Column(name = "image")
private String image;

public Coupon(long id, String title, String startDate, String endDate, int amount, String couponType,
        String message, double price, String image) {
    super();
    this.id = id;
    this.title = title;
    this.startDate = startDate;
    this.endDate = endDate;
    this.amount = amount;
    this.couponType = couponType;
    this.message = message;
    this.price = price;
    this.image = image;
}

public Coupon() {
    super();
}

public long getId() {
    return id;
}

public void setId(long id) {
    this.id = id;
}

public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}

public String getStartDate() {
    return startDate;
}

public void setStartDate(String startDate) {
    this.startDate = startDate;
}

public String getEndDate() {
    return endDate;
}

public void setEndDate(String endDate) {
    this.endDate = endDate;
}

public int getAmount() {
    return amount;
}

public void setAmount(int amount) {
    this.amount = amount;
}

public String getCouponType() {
    return couponType;
}

public void setCouponType(String couponType) {
    this.couponType = couponType;
}

public String getMessage() {
    return message;
}

public void setMessage(String message) {
    this.message = message;
}

public double getPrice() {
    return price;
}

public void setPrice(double price) {
    this.price = price;
}

public String getImage() {
    return image;
}

public void setImage(String image) {
    this.image = image;
}

@Override
public String toString() {
    return "Coupon [id=" + id + ", title=" + title + ", startDate=" + startDate + ", endDate=" + endDate
            + ", amount=" + amount + ", couponType=" + couponType + ", message=" + message + ", price=" + price
            + ", image=" + image + "]";
}

}

Надеюсь, что любой из вас может определить проблему, любая помощь будетбыть оцененным!

1 Ответ

0 голосов
/ 12 июня 2019

[решено]

Проблема заключалась в том, что я использовал в своей переменной два слова, например couponType, в базе данных будет coupon_type.

изменил его на тип только pojoи база данных, и теперь она работает отлично!

надеюсь, это поможет всем, у кого возникла эта проблема.

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