Java Hibernate:无法确定整型的类型

Java Hibernate:无法确定整型的类型,java,hibernate,Java,Hibernate,运行该程序时,我收到一个错误,提示无法确定[org.hibernate.mapping.Column(id)]列在表:t\u credential中的:Integer的类型。 我的t_凭证数据库有一个PK列id,由应用程序设置(非自动递增) 以下是我的XML映射文件: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "ht

运行该程序时,我收到一个错误,提示
无法确定[org.hibernate.mapping.Column(id)]列在表:t\u credential中的:Integer的类型。

我的t_凭证数据库有一个PK列
id
,由应用程序设置(非自动递增)

以下是我的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">

<hibernate-mapping>

 <class name="com.x.com.core.pojo.TUIDInfo" table="t_pop3_credential_messageuid">
   <id name="id" column="id" type="integer" >
            <generator class="native" />
        </id>
    <property name="messageUID"><column name="messageUID" /></property>
     <many-to-one name="cred" column="credential_id" class="com.x.listener.core.imap.Credential" ></many-to-one>
     </class>

     <class name="com.x.listener.core.imap.Credential" table="t_credential" >
        <id name="id" column="id" type="Integer" >
            <generator class="select" />
        </id>
        <property name="username" column="email" type="String" length="100"   />
        <property name="password" column="password" type="String" length="100"   />
        <property name="mailServer" column="mail_server" type="String" length="100" />
        <property name="protocol" column="protocol" type="String" length="100"  />
        <property name="tenant" column="tenant" type="String"  />
        <property name="host" column="host" type="String" length="100"  />  
    </class>
</hibernate-mapping>
和我的证书课程:

package com.x.listener.core.imap;
public class Credential {
    Integer id;
    private String host;// change accordingly
    private String username;
    private String password;// change accordingly
    private String mailServer;
    private String protocol;
    private String tenant;


    public Credential(Integer id, String host, String username,
            String password, String mailServer, String protocol, String tenant) {
        super();
        this.id = id;
        this.host = host;
        this.username = username;
        this.password = password;
        this.mailServer = mailServer;
        this.protocol = protocol;
        this.tenant = tenant;
    }

    public Credential() {
        super();
    }

    public String getProtocol() {
        return protocol;
    }

    public void setProtocal(String protocol) {
        this.protocol = protocol;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getMailServer() {
        return mailServer;
    }

    public void setMailServer(String mailServer) {
        this.mailServer = mailServer;
    }

    public String getTenant() {
        return tenant;
    }

    public void setTenant(String tenant) {
        this.tenant = tenant;
    }

    public void setProtocol(String protocol) {
        this.protocol = protocol;
    }

}

尝试将其更改为小写:

<class name="com.x.listener.core.imap.Credential" table="t_credential" >
        <id name="id" column="id" type="integer" >  <!-- Instead of Integer -->
            <generator class="select" />
        </id>

正如您在中使用的那样:

<class name="com.x.com.core.pojo.TUIDInfo" table="t_pop3_credential_messageuid">
   <id name="id" column="id" type="integer" >
            <generator class="native" />
        </id>

删除
type=“Integer”
type=“String”

type
属性保存hibernate映射类型,该映射类型将从Java转换为SQL数据类型。

在您的情况下,您可以使用
type=“int”
type=“string”

这可能会有所帮助,谢谢您的帮助。我真傻。
<class name="com.x.com.core.pojo.TUIDInfo" table="t_pop3_credential_messageuid">
   <id name="id" column="id" type="integer" >
            <generator class="native" />
        </id>