- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有一个员工类别,其中有一组他知道的语言。
error :Exception in thread "main" org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: Employee_Table, for columns: [org.hibernate.mapping.Column(languages)]
员工.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();
}
}
最佳答案
在 Hibernate Annotation 中,@ElementCollection 是从另一个表获取列值的功能,无需映射两个表。
您应该在另一个表中有语言列表,然后只有您像这样使用..
@ElementCollection
@CollectionTable(name="languages", joinColumns=@JoinColumn(name="empId"))
private Set<String> languages;
请read this发帖获取更多信息。
关于java - 错误如下所述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29435933/
我正在阅读 Joshua Bloch 的书 effective java。在“favor composition over inheritance”的第 16 条中,他给出了一个使用 HashSet
我一直在阅读 Adam Dymitruk's git workflow ,这一切都很有道理。 我找不到任何讨论的一件事是修复旧版本中的错误。想象一下带有 7.0、7.1、7.2、7.3、7.4、7.4
我有几个类为“itemWerk”的 div。我想切换它们,以便我可以放大它们并将它们设置回原来的大小和位置。 在here 上,我已经走了很远了.这只是我无法开始工作的第二个功能中的定位。我不太确定我应
我正在尝试创建一个检测 USB 插入的服务。为此,我必须通过 RegisterDeviceNotification(HANDLE, LPVOID, DWORD)< 创建一个 HDEVNOTIFY/.
我是一名优秀的程序员,十分优秀!