我的班级名字是
批处理工作
我的表名是
batch_jobs
我正在使用org.hibernate.annotations.Table类的@Table而不是javax.persistence
我的BatchJob类的代码是
import javax.persistence.Entity;
import org.hibernate.annotations.Table;
@Entity
@Table(appliesTo="batch_jobs")
public class BatchJob {
我遇到错误
org.hibernate.AnnotationException:@ org.hibernate.annotations.Table 引用了一个未知的表:batch_jobs
当我将@Entity表示法的类更改为org.hibernate.annotations
时import org.hibernate.annotations.Entity;
import org.hibernate.annotations.Table;
@Entity
@Table(appliesTo="batch_jobs")
public class BatchJob {
我遇到错误
org.hibernate.hql.internal.ast.QuerySyntaxException:BatchJob不是 映射[来自BatchJob]
我的查询
allBatchJobs=session.createQuery("From BatchJob").list();
我的hibernate.cfg.xml映射
<mapping class="com.company.bmdashboard.beans.BatchJob"></mapping>
当我将类名更改为batch_jobs时,代码可以正常工作,但我想使用名称BatchJob,而又不想使用javax.persistence类。
请指导我。预先感谢
答案 0 :(得分:0)
尝试一下。...
import javax.persistence.Entity;
import org.hibernate.annotations.Table;
@Entity
@Table(name="batch_jobs")
public class BatchJob {
答案 1 :(得分:0)
请使用如下所示的javax.persistence包
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
答案 2 :(得分:0)
@org.hibernate.annotations.Table
使用javax.persistence.Table;
和/或javax.persistence.SecondaryTables;
中的值。例如:
@Table(name = "batch_jobs")
@SecondaryTables({
@SecondaryTable(name="batch")
})
@Entity
@org.hibernate.annotations.Table(inverse = true, appliesTo = "batch")
public class BatchJob {
因此,@org.hibernate.annotations.Table
不等于javax.persistence.Table;
,这是具有不同用途的不同注释。