我的IDE是eclipse -Helios,我使用的是mojarra jsf,mysql,eclipselink for jpa。eclipselink不会从注释的JPA类生成表格
在我的项目中,如果我在mysql中手动创建表,我可以在“JPA Details”视图中看到这些表。如果我不创建任何表,Eclipse的IDE显示错误,“表”trainingsession“无法解决”。
我不确定有什么问题。 JPA何时创建这些表?如何 ? 我的persistence.xml如下,
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="wompower2" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>trainer</jta-data-source>
<class>com.jsfcompref.trainer.entity.User</class>
<class>com.jsfcompref.trainer.entity.TrainingSession</class>
<class>com.jsfcompref.trainer.entity.Event</class>
<class>com.jsfcompref.trainer.entity.AbstractEntity</class>
<validation-mode>NONE</validation-mode>
<properties>
<property name="eclipselink.target-database" value="MySQL"/>
<property name="eclipselink.ddl-generation" value="create-tables"/>
<property name="eclipselink.ddl-generation.output-mode" value="both"/>
<property name="eclipselink.application-location" value="C:\wompower2\DDL"/>
<property name="eclipselink.create-ddl-jdbc-file-name" value="create.sql"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/demo"></property>
<property name="javax.persistence.jdbc.user" value="user"></property>
<property name="javax.persistence.jdbc.password" value="pwd"></property>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"></property>
</properties>
</persistence-unit>
</persistence>
谢谢 阿瑞丹姆。
我在persistence.xml中设置了这些属性。但它不起作用。然后,我将jpa提供程序更改为hibernate,并在我的persistence.xml中使用“hibernate.hbm2ddl.auto”value =“create”。我写了一个小的java类来创建这些表,但是它会抛出一个错误,并说“由类路径引用的项目不存在。” public class CreateTable {public static void main(String [] args){ 配置cfg =新配置(); cfg.addAnnotatedClass(Event.class); cfg.configure(); 新的SchemaExport(cfg)。创建(true,true); – Arindam 2011-01-07 10:56:10