0
有一個員工課程,他有一套他所知道的語言。如下所述的錯誤
錯誤:異常在線程 「主」 org.hibernate.MappingException: 無法確定類型:java.util.Set中,在表中:Employee_Table, 爲列:[org.hibernate.mapping.Column (語言)]
Employee.java
package Mapping.Collection.Set;
import java.util.*;
import javax.persistence.*;
@Entity
@Table(name="Employee_Table")
public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int empId;
@Column(name="EMP_NAME",nullable=false)
private String empName;
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
private int salary;
@ElementCollection(targetClass=String.class)
@JoinColumn(name="Languages_Known")
private Set<String> languages=new HashSet<>();
public Set<String> getLanguages() {
return languages;
}
public void setLanguages(Set<String> languages) {
this.languages = languages;
}
}
TestMain.java
package Mapping.Collection.Set;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
public class TestMain {
/**
* @param args
*/
public static void main(String[] args) {
Employee emp=new Employee();
emp.setEmpId(1);
emp.setEmpName("Shrini Jaiswal");
emp.setSalary(10000000);
emp.getLanguages().add("Hindi");
emp.getLanguages().add("English");
SessionFactory factory=new AnnotationConfiguration().configure().buildSessionFactory();
Session session=factory.openSession();
Transaction tx=session.beginTransaction();
tx.begin();
session.save(emp);
tx.commit();
session.close();
}
}
Missing a @CollectionTable – 2015-04-03 16:36:17
爲了增加獲得答案的機會[編寫一個總結特定問題的標題](http://stackoverflow.com/help/how-to-ask) – 2015-04-03 16:38:11