Xml 错误404:SpringMVC和Hibernate由于Hibernate映射

Xml 错误404:SpringMVC和Hibernate由于Hibernate映射,xml,spring,hibernate,spring-mvc,hibernate-mapping,Xml,Spring,Hibernate,Spring Mvc,Hibernate Mapping,获取错误:404,原因是applicationContext.xml中的hibernate映射。但无法找到解决方案 我有一个新的类型是图像 java import java.util.Map; import org.springframework.web.multipart.MultipartFile; public class Image { private String image_size; private String image_type; private

获取错误:404,原因是applicationContext.xml中的hibernate映射。但无法找到解决方案

我有一个新的类型是图像

java

import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

public class Image
{
    private String image_size;
    private String image_type;
    private MultipartFile image_file;
    private String image_file_url;
    private String image_status;
    <!-- Getters and Setters -->
}
import java.util.Map;
导入org.springframework.web.multipart.MultipartFile;
公众阶级形象
{
私有字符串图像大小;
私有字符串图像类型;
私有多部分文件映像文件;
私有字符串图像\文件\ url;
私有字符串图像状态;
}
以下是applicationContext.xml中的代码

<bean id="imageSessionFactoryBean" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSourceBean"></property>
    <property name="mappingResources">
        <value>xxx/xxx/xxx/bean/Image.hbm.xml</value>
    </property>
<property name="hibernateProperties">
    <props>
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
        <prop key="hibernate.show_sql">true</prop>
    </props>
</property>
</bean>

<bean id="imageHibernateTemplateBean" class="org.springframework.orm.hibernate3.HibernateTemplate">
    <property name="sessionFactory" ref="imageSessionFactoryBean"></property>
</bean>

xxx/xxx/xxx/bean/Image.hbm.xml
org.hibernate.dialogue.mysql5dialogue
真的
通过仅更改bean imageSessionFactoryBean的mappingResources属性中的value属性,我可以看到应用程序正在工作,否则它会显示错误:404。 我认为原因可能是文件名(Image.java),但对此我不确定。 此外,Image.hbm.xml还包含类Image.java到数据库表Image的映射

Image.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Nov 8, 2012 9:26:27 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="xxx.xxx.xxx.bean.Image" table="image">
        <id name="img_id" type="java.lang.String">
        <column name="IMG_ID" />
        <generator class="native" />
    </id>
    <property name="content_uid" type="java.lang.String">
        <column name="CONTENT_UID" />
    </property>
    <property name="img_url" type="java.lang.String">
        <column name="IMG_URL" />
    </property>
    <property name="image_type_id" type="java.lang.String">
        <column name="IMAGE_TYPE_ID" />
    </property>
    <property name="image_size_id" type="java.lang.String">
        <column name="IMAGE_SIZE_ID" />
    </property>
    <property name="status" type="java.lang.String">
        <column name="STATUS" />
    </property>
    </class>
</hibernate-mapping>

我假设您希望将class
Image
设置为Hibernate实体,以便将其存储在数据库中

这将不起作用,因为它的字段
私有多部分文件image\u文件。我非常怀疑你能用hibernate存储这个字段。因此,不用这个字段,而是用字节数组替换它。并用多部分文件的内容填充此字节数组

public class Image
{
    //some primary key required.
    private int id;        

    private String image_size;
    private String image_type;
    private byte[] image_content;
    private String image_file_url;
    private String image_status;
    // Getters and Setters

    //Constructor without parameter required.
    public Image() {}        

    public void applyImgContent(MultipartFile upload) {
         this.image_conten = upload.getBytes();
    }

}

通过仅更改mappingResources中的value属性,我可以看到应用程序正在工作:那么问题出在哪里?你有什么问题?只要我更改xxx/xxx/xxx/bean/Image.hbm.xml值属性。申请表上写得很清楚吗@JBNizetImage.hbm.xml文件包含Image.java pojo的hibernate映射。只要我将地址更改为另一个hibernate映射文件Image_Size_type.hbm.xml(这是Image_Size_type.java pojo的hibernate映射文件),应用程序就会工作,也就是说,我可以运行应用程序而不会出现404错误,但这在逻辑上是错误的。感谢@Ralph的回复。但是你错了。我已经发现了我的错误,只是我没有在数据库中包含一个字段,但不在Image.java pojo文件中,因为hibernate映射到该类时返回了一些错误,因此我得到了错误404,因为层次结构到达applicationContext.xml(Spring配置文件)@HVT7:请你去掉接受标记,这样我就可以删除我的答案了(如果它是接受的答案,这是不可能的)