Could not determine type for: org.springframework.web.multipart.MultipartFile

SpringBoot启动时报错:

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not determine type for: org.springframework.web.multipart.MultipartFile, at table: attachment, for columns: [org.hibernate.mapping.Column(file)]

原因是有一个实体类里用MultipartFile类型定义了一个文件变量,本意是想用来存储文件的,代码如下:

/**
 * file
 */
@Column(nullable = false)
private MultipartFile file;

这里重点关注这句话:

Could not determine type for: org.springframework.web.multipart.MultipartFile

意思是自动建表的时候编译器不能确定MultipartFile这个类型在数据库中应该对应什么类型,而文件在数据库中是以二进制存储的,所以把实体类的代码稍作修改:

/**
 * file
 */
@Column(nullable = false,columnDefinition = "MediumBlob")
private byte[] file;

然后启动,问题解决。

tips:

MySQL的四种BLOB类型

类型 大小(单位:字节)
TinyBlob 最大 255
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G

引用中描述了用户遇到的问题,他们在寻找数据库配置错误的原因。首先,他们检查了application.properties配置文件,确认了DataSource等配置没有问题。然后,他们尝试在springboot启动类上添加了@EnableAutoConfiguration注解,并排除了DataSourceAutoConfiguration类的自动配置。然而,问题仍然存在。 引用中提到,用户在网上搜索到了一个关键信息,发现编译后的target目录有问题,没有生成application.properties文件。他们尝试在pom文件中添加了一些配置,但问题依然存在。 引用中指出了报错的原因,是因为项目的bootstrap.yml文件中的config-server配置错误。用户将配置的name属性设置为了项目名称,而不是正确的config-server名称。 综上所述,用户遇到的问题是由于数据库配置错误和config-server配置错误导致的。请注意,这里只提供了问题的描述和可能的原因,具体的解决方法需要进一步分析和调试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ...](https://blog.csdn.net/qq_40834643/article/details/128813174)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationEx...](https://blog.csdn.net/weixin_30338743/article/details/96377918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值