繁体   English   中英

无法确定以下类型的字符串:字符串,在表:STUDENT,对于列:[org.hibernate.mapping.Column(SNAME)]

[英]Could not determine type for: String, at table: STUDENT, for columns: [org.hibernate.mapping.Column(SNAME)]

在我执行此简单的休眠程序时,如何解决此异常...请帮助我。 我收到此异常:

Exception in thread "main" org.hibernate.MappingException: Could not determine type for: String, at table: STUDENT, for columns: [org.hibernate.mapping.Column(SNAME)]

映射文件:

<?xml version = "1.0" encoding = "utf-8"?>

<hibernate-mapping>
<class name = "Student" table = "STUDENT" >
    <meta attribute="Class description">
        This contains Student details.
    </meta>
    <id name="id" type="int" column="id">
        <generator class="native"/>
    </id>
    <property name="name" column="SNAME" type="String"/>
    <property name="mNo" column="MNO" type="String"/>
    <property name="marks" column="MARKS" type="String"/>

</class>

配置文件:

<?xml version = "1.0" encoding = "utf-8"?>

<hibernate-configuration>
<session-factory>
    <!-- <property name="hibernate.dialect">org.hibernate.dialect.MySQLdialect</property> -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/firsthibernate</property>
    <property name="hibernate.connection.user">root</property>
    <property name="hibernate.connection.password">asdf</property>
    <mapping resource="Student.hbm.xml"/>
</session-factory>

Pojo课:

public class Student {
private int id;
private String name;
private String mNo;
private String marks;
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getmNo() {
    return mNo;
}
public void setmNo(String mNo) {
    this.mNo = mNo;
}
public String getMarks() {
    return marks;
}
public void setMarks(String marks) {
    marks = marks;
}

}

测试类别:

import org.hibernate.Session;    
import org.hibernate.SessionFactory;    
import org.hibernate.Transaction;    
import org.hibernate.cfg.Configuration;



public class DemoStudent {

public static void main(String[] args) {
    Student st=new Student();
    st.setId(1);
    st.setName("Amit");
    st.setmNo("8927070972");
    st.setMarks("98%");

    Configuration cfg=new Configuration();
    cfg.configure();
    SessionFactory sf=cfg.buildSessionFactory();
    Session s=sf.openSession();
    Transaction tr=s.beginTransaction();
    tr.begin();
    s.save(st);
    tr.commit();

}

}

预先感谢...当我执行这个简单的休眠程序时。 我得到这个,请在​​我在该程序中出错的地方提供帮助。

在休眠映射文件中,使用type作为字符串,而不是String。

<property name="name" column="SNAME" 
type="string"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM