java - Hibernate 生成的表列顺序

标签 java mysql hibernate

我有一个由Hibernate从实体类生成的表,该表的当前顺序是:

describe Context;
+--------------+--------------+------+-----+---------+-------+
| Field        | Type         | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| id           | int(11)      | NO   | PRI | NULL    |       |
| context      | varchar(200) | NO   |     | NULL    |       |
| publish_time | datetime     | NO   |     | NULL    |       |
| URL          | varchar(400) | NO   |     | NULL    |       |
| term_id      | int(11)      | NO   | MUL | NULL    |       |
+--------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

然后该语句被配置为将数据加载到数据库:

LOAD DATA LOCAL INFILE 'context.txt' INTO TABLE Context FIELDS TERMINATED\ BY '\t'  LINES TERMINATED BY '\n'

但是,数据文件“context.txt”的5列顺序与表中的列顺序不同。因此,当在应用程序中启动加载时,我收到此错误消息:

     20:46:00,207 ERROR [org.hibernate.tool.hbm2ddl.SchemaExport] 
    (ServerService Thread Pool -- 68) HHH000388:  Unsuccessful: LOAD DATA 
LOCAL INFILE '/myproject/src/main/resources/context.txt' INTO TABLE Context FIELDS TERMINATED BY '\t'  LINES TERMINATED BY '\n'
            20:46:00,207 ERROR [org.hibernate.tool.hbm2ddl.SchemaExport] (ServerService Thread Pool -- 68) Cannot add or update a child row: a foreign key constraint fails (`BombDS`.`Context`, CONSTRAINT `FK_afatp1vwi13k5r0hftr04vctl` FOREIGN KEY (`term_id`) REFERENCES `Term` (`id`))

如果我无法更改文件中的顺序,有没有办法控制 Hibernate 生成的列顺序?

最佳答案

在 LOAD 语句中指定文件中列的顺序:

LOAD DATA LOCAL INFILE 'C:/Users/blah/Desktop/something.csv' INTO TABLE
test.test_table
FIELDS TERMINATED BY ',' 
optionally ENCLOSED by '"' 
(id, name, count)

关于java - Hibernate 生成的表列顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35823251/

相关文章:

java - 是否可以在非 Web 应用程序中使用 togglz

php - MySQL:从表中选择在另一个表的字段中指定名称的行

database - NHibernate 多线程 session 管理

java - 这个简单的 JPQL 查询究竟是如何工作的?

java - 为什么我在此代码中收到 StringIndexOutOfBoundsException?

java - 分发使用 Hibernate 的持久性类

Java 与 MySQL : float type difference

java - 分离对象中的 Hibernate 延迟加载

java - 如何将ActiveWeb Web应用程序部署到普通容器?

php - 我如何使用 laravel 4 锁进行更新