Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “线程中的异常”;“主要”;org.hibernate.AnnotationException:@org.hibernate.annotations.Table引用了一个未知的表:ProductForPractice_Java_Hibernate - Fatal编程技术网

Java “线程中的异常”;“主要”;org.hibernate.AnnotationException:@org.hibernate.annotations.Table引用了一个未知的表:ProductForPractice

Java “线程中的异常”;“主要”;org.hibernate.AnnotationException:@org.hibernate.annotations.Table引用了一个未知的表:ProductForPractice,java,hibernate,Java,Hibernate,我正在尝试Hibernate4.1.4版本的功能。当我试图运行代码时,我使用的是HSQLDB2.3.3,它给了我未知的表引用 以下是我的表格脚本: CREATE TABLE ProductForPractice (productId INTEGER,prodName char(25),price DECIMAL(5,2),PRIMARY KEY(productId)) 实体类 @Entity @Table(appliesTo="ProductForPractice") public clas

我正在尝试Hibernate4.1.4版本的功能。当我试图运行代码时,我使用的是HSQLDB2.3.3,它给了我未知的表引用

以下是我的表格脚本:

CREATE TABLE ProductForPractice (productId INTEGER,prodName char(25),price DECIMAL(5,2),PRIMARY KEY(productId))
实体类

@Entity

@Table(appliesTo="ProductForPractice")
public class Product {


    @Id
    @Column

    private int productId;



    @Column(name="prodName")
    private String prodName;
    @Column
    private double price;
    @Version
    private long version;
//getter and setters
这是我的配置文件

config.setProperty("hbm2ddl.auto", "create");
config.setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect");
config.setProperty("hibernate.connection.url", "jdbc:hsqldb:hsql://localhost/");
config.setProperty("hibernate.connection.username", "SA");
config.setProperty("hibernate.connection.password", "");
config.setProperty("hibernate.connection.driver_class", "org.hsqldb.jdbcDriver");
config.addAnnotatedClass(Product.class);

config.setProperty("hibernate.archive.autodetection", "class,hbm");

ServiceRegistry serivce=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
SessionFactory factory=config.buildSessionFactory(serivce);
这是我的完整堆栈跟踪:

Exception in thread "main" org.hibernate.AnnotationException: @org.hibernate.annotations.Table references an unknown table: ProductForPractice
    at org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:933)
    at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:713)
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3435)
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3389)
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1341)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1731)
    at Hibernate.configuration.Service.saveProduct(Service.java:28)
    at main.Main1.main(Main1.java:15)

您的表注释可能属于org.hibernate.annotations.Table类,它只是将信息添加到您应该使用的注释javax.persistence.Table中:

@javax.persistence.Table(name="ProductForPractice")
public class Product {

您的表注释可能属于org.hibernate.annotations.Table类,它只是将信息添加到您应该使用的注释javax.persistence.Table中:

@javax.persistence.Table(name="ProductForPractice")
public class Product {

您是否尝试了属性“name”而不是“appliesTo”,或者可能为_PRACTICE和@TABLE创建表产品_(name=“PRODUCT_FOR_PRACTICE”是,但显示无效。您是否尝试了属性“name”而不是“appliesTo”,或者可能为_PRACTICE和@TABLE创建表产品_(name=“PRODUCT_FOR_PRACTICE”是的,但它显示无效。非常感谢!非常感谢!