DBunit; 关于表/列名称区分大小写的困惑
启动我的应用程序时出现此错误
Caused by: org.dbunit.dataset.NoSuchColumnException: CLIENT.ID - (Non-uppercase input column: ID) in ColumnNameToIndexes cache map. Note that the map's column names are NOT case sensitive
我不太确定为什么要得到这个,因为我的表/列名称全部都以大写字母引用(即使该消息坚持认为这不应该成为问题)
我的桌子:
mysql> describe CLIENT;+------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| jdoDetachedState | tinyblob | YES | | NULL | |
| NAME | varchar(255) | NO | | NULL | |
| ADDRESS1 | varchar(255) | YES | | NULL | |
| ADDRESS2 | varchar(255) | YES | | NULL | |
| COUNTRY | varchar(255) | YES | | NULL | |
| COUNTY | varchar(255) | YES | | NULL | |
| MAINPHONENUMBER | varchar(255) | YES | | NULL | |
| POSTCODE | varchar(255) | YES | | NULL | |
| SECTOR | varchar(255) | YES | | NULL | |
| TOWN | varchar(255) | YES | | NULL | |
| WEBSITEURL | varchar(255) | YES | | NULL | |
+------------------+--------------+------+-----+---------+----------------+
12 rows in set (0.00 sec)
mysql>
我的网域实体的代码段:
@Id@GeneratedValue
@Column(name="ID")
private Integer id;
测试日期的片段,我试图强制DBUnit使用:
<dataset> <CLIENT ID="-1"
ADDRESS1="Endeavour House"
ADDRESS2="Russell Rd"
COUNTRY="England"
COUNTY="Suffolk"
MAINPHONENUMBER="0845 606 6067"
NAME="Suffolk County Council"
POSTCODE="IP1 2BX"
SECTOR="Local Government"
TOWN="Ipswich"
WEBSITEURL="www.suffolk.gov.uk"/>
</dataset>
我想不出要尝试的其他方法,删除了表并重新编译了Java代码,有什么想法吗?
回答:
您是否要尝试将ID已设置的Client放入数据库?ID列是只读的,只有数据库可以对其进行“写入”。
以上是 DBunit; 关于表/列名称区分大小写的困惑 的全部内容, 来源链接: utcz.com/qa/421038.html