简体   繁体   English

在hibernate中导入import.sql失败

[英]Unsuccessful importing import.sql in hibernate

I want to automatically drop the table and create a new one every time the app is running and also automatically inserting pre-defined data. 我希望每次应用程序运行时自动删除表并创建一个新表,并自动插入预定义数据。 I've already preparing the data in import.sql . 我已经在import.sql准备数据了。 I've already set spring.jpa.hibernate.ddl-auto=create-drop in application.properties . 我已经在application.properties设置了spring.jpa.hibernate.ddl-auto=create-drop But, why do I get the following error? 但是,为什么我会收到以下错误? I can insert it just fine manually. 我可以手动插入它。

2015-11-20 20:53:57.242 ERROR 7092 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000388: Unsuccessful: INSERT INTO gender
2015-11-20 20:53:57.242 ERROR 7092 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport  : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
2015-11-20 20:53:57.242 ERROR 7092 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000388: Unsuccessful: (gender_id, gender_name)
2015-11-20 20:53:57.257 ERROR 7092 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport  : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'gender_id, gender_name)' at line 1
2015-11-20 20:53:57.257 ERROR 7092 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000388: Unsuccessful: VALUES
2015-11-20 20:53:57.257 ERROR 7092 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport  : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES' at line 1
2015-11-20 20:53:57.257 ERROR 7092 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000388: Unsuccessful: (1, 'Male'),
2015-11-20 20:53:57.257 ERROR 7092 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport  : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1, 'Male'),' at line 1
2015-11-20 20:53:57.257 ERROR 7092 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000388: Unsuccessful: (2, 'Female')
2015-11-20 20:53:57.257 ERROR 7092 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport  : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2, 'Female')' at line 1

This is my entity: 这是我的实体:

@Entity
public class Gender {
    @Id
    @Column(name = "gender_id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    @Column(name = "gender_name")
    private String name; 
}

This is my query in import.sql : 这是我在import.sql查询:

INSERT INTO gender 
    (gender_id, gender_name) 
VALUES 
    (1, 'Male'), 
    (2, 'Female');

By the pattern of the errors, it seems that your line ending contains characters that cannot be processed (hidden characters like LF or something like that). 根据错误的模式,您的行结尾似乎包含无法处理的字符(隐藏字符,如LF或类似的东西)。

I'm saying this because all your errors relate to the end of the line. 我这样说是因为你所有的错误都与行尾有关。 Try to put your import.sql in one line like this: 尝试将import.sql放在一行中,如下所示:

INSERT INTO gender (gender_id, gender_name) VALUES (1, 'Male'), (2, 'Female');

By taking care to have only space between keywords and removing all unprintable characters. 注意在关键字之间只留出空格并删除所有不可打印的字符。 You can use your favorite text editor and use the option to 'show all charaters'. 您可以使用自己喜欢的文本编辑器并使用“显示所有字符”选项。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM