最近学习Hibernate是借助某个视频教程,提到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 package="com.hibernate">
<class name = "Students" >
<id name = "id">
<generator class = "uuid"></generator>
</id>
<property name="name"></property>
</class>
</hibernate-mapping> 会自动根据配置生成一张表,不知道我要不要把另外几段代码贴出来。
但是提示的是无法插入,没表。视频上就也看到了自动生成表,各种泪奔
求解释~谢谢!!HibernateXML
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.hibernate">
<class name = "Students" >
<id name = "id">
<generator class = "uuid"></generator>
</id>
<property name="name"></property>
</class>
</hibernate-mapping> 会自动根据配置生成一张表,不知道我要不要把另外几段代码贴出来。
但是提示的是无法插入,没表。视频上就也看到了自动生成表,各种泪奔
求解释~谢谢!!HibernateXML
其实那个问题解决了,但是这里有个新问题package com.hibernate.second;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;import org.hibernate.annotations.GenericGenerator; @Entity
@SequenceGenerator(name="workerSEQ",sequenceName="workerSEQ_DB")
public class Worker {
private int salary;
private String name;
private int age;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "WorkerSEQ")
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
报的错:Exception in thread "main" org.hibernate.AnnotationException: Unknown Id.generator: WorkerSEQ
at org.hibernate.cfg.BinderHelper.makeIdGenerator(BinderHelper.java:428)
at org.hibernate.cfg.AnnotationBinder.bindId(AnnotationBinder.java:1901)
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1279)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:754)
at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:546)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:291)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1319)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at WorkerTest.main(WorkerTest.java:17)
求指导,谢谢!
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
@Entity
@SequenceGenerator(name="workerSEQ",sequenceName="workerSEQ_DB")
public class Worker {
private int salary;
private String name;
private int age;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "WorkerSEQ")
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
报的错:Exception in thread "main" org.hibernate.AnnotationException: Unknown Id.generator: WorkerSEQ
at org.hibernate.cfg.BinderHelper.makeIdGenerator(BinderHelper.java:428)
at org.hibernate.cfg.AnnotationBinder.bindId(AnnotationBinder.java:1901)
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1279)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:754)
at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:546)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:291)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1319)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at WorkerTest.main(WorkerTest.java:17)
求指导,谢谢!