簡體   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