Я пытаюсь обновить список класса компании, который я создал в Play Framework. Все это работает, пока я не доберусь до company.update (), который не сохраняет в базу данных, как следует.
Вот мой класс компании:
package models;
import io.ebean.Finder;
import io.ebean.Model;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Company extends Model {
@Id
public Integer id;
public String code;
public String name;
public String adress;
public String fiscalCode;
public String bankAccount;
public static Finder<Integer, Company> find = new Finder<>(Company.class);
public String getFiscalCode() {
return fiscalCode;
}
public void setFiscalCode(String fiscalCode) {
this.fiscalCode = fiscalCode;
}
public String getBankAccount() {
return bankAccount;
}
public void setBankAccount(String bankAccount) {
this.bankAccount = bankAccount;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAdress() {
return adress;
}
public void setAdress(String adress) {
this.adress = adress;
}
}
А вот Мои методы обновления и редактирования:
public Result editCompany(Integer id){
Company company = Company.find.byId(id);
if(company == null)
{
return notFound("Company not found");
}
Form<Company> companyForm = formFactory.form(Company.class).fill(company);
return ok(editCompany.render(companyForm));
}
public Result updateCompany(){
Form<Company> companyForm = formFactory.form(Company.class).bindFromRequest();
if(companyForm.hasErrors())
{
flash("danger","Please Correct the Form Below");
return badRequest(editCompany.render(companyForm));
}
Company newcompany = companyForm.get();
Company company = Company.find.byId(newcompany.id);
if (company == null) {
flash("danger", "Book not found");
redirect(routes.CompanyController.indexCompanies());
}
company.code = newcompany.code;
company.name = newcompany.name;
company.adress = newcompany.adress;
company.fiscalCode = newcompany.fiscalCode;
company.bankAccount = newcompany.bankAccount;
company.update();
flash("success","Company Details Updated Successfully");
return redirect(routes.CompanyController.indexCompanies());
}
У новой компании есть обновленные значения, но они не сохраняются в базе данных. Я проверил, напечатав на консоли название компании.
Надеюсь, вы мне поможете. Спасибо!