Mi a baj ezzel az SQL kóddal (Spring, H2 adatbázis)?
Hibaüzenet:
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [insert into car (has_ac, is_automatic, is_new, price, advertiser_id, brand_id, model_id, description, image_url) values (1, 1, 1, 1000, 1, 1, 1, 'Ez egy leiras', 'imageUrl')]; nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "ADVERTISER_ID" not found; SQL statement:
insert into car (has_ac, is_automatic, is_new, price, advertiser_id, brand_id, model_id, description, image_url) values (1, 1, 1, 1000, 1, 1, 1, 'Ez egy leiras', 'imageUrl') [42122-200]
Az SQL kód (properties fájlból olvasom be):
sql.script.create.car=insert into car (has_ac, is_automatic, is_new, price, advertiser_id, brand_id, model_id, description, image_url) values (1, 1, 1, 1000, 1, 1, 1, 'Ez egy leiras', 'imageUrl')
(Ha a számokat így írom: '1' , akkor is ugyan ez a hiba.
Így nézki az autó osztály:
@Entity
@Table(name = "car")
@Data
public class Car {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "is_new")
private boolean isNew;
@Column(name = "has_AC")
private boolean hasAC;
@Column(name = "is_Automatic")
private boolean isAutomatic;
@Column(name = "price")
private BigDecimal price;
@Column(name = "number_of_click")
private int numberOfClicks;
@Lob
@Column(name = "description")
private String description;
@Column(name = "date_created")
@CreationTimestamp
private Date dateCreated;
@ManyToOne
@JoinColumn(name = "user_id", nullable = false)
private User user;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "brand_id", nullable = false)
private Brand brand;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "model_id", nullable = false)
private Model model;
}
Konkrétan az oszlop nevét másoltam le és úgy írtam az sql kódot.
Ezért sem értem pontosan, hogy mi a baja.
Maga az 1-es ID-val rendelkező advertiser is létezik, szóval az sem lehet hogy nem találná. (Bár tudom nem ezt írja)
Lehet több szem többet lát, már kb 11 órája nézem mi lehet ezzel.
Ha nem sorolod fel az oszlopneveket, akkor működik?
(Az id helyére tegyél NULL-t.)
Nem lehet, hogy belekerült valami láthatatlan unicode karakter? :D
Nevezd át az oszlopod valamire, utána vissza.. csak ne másolással, hanem írd be rendesen!
Egyszerűbb a megoldás :D
Volt egy olyan táblázat, hogy "cars", a helyes "car" táblázaton felül, ami egy régebbi változatot írt le, csak soha sem lett törölve.
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!