私のIDEはEclipseです.Heliosと私はmojarra jsf、mysql、eclipselink for jpaを使用しています。eclipselinkは注釈付きJPAクラスからテーブルを生成しません
私のプロジェクトでは、mysqlでテーブルを手動で作成すると、「JPA Details」ビューにそれらのテーブルが表示されます。そして私がテーブルを作成しなければ、Eclipse IDEはエラーを表示します。 "テーブル"のトレーニングセッションは "解決できません"。
何が問題なのかよくわかりません。 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>
は、 Arindam、ありがとうございました。
これらのプロパティは、私のpersistence.xmlに設定されています。しかし、それは動作しません。それから、jpaプロバイダをhibernateに変更し、persistence.xmlで "hibernate.hbm2ddl.auto" value = "create"を使用しました。これらのテーブルを作成するには小さなJavaクラスを作成しましたが、エラーをスローします。「クラスパスで参照されているプロジェクトは存在しません」 public class CreateTable { public static void main(String [] args){ 構成cfg = new Configuration(); cfg.addAnnotatedClass(Event.class); cfg.configure(); 新しいSchemaExport(cfg)。作成する(真、真)。 – Arindam
私は何か間違っていると確信しています。私が何をする必要があるかを指摘できれば、それは素晴らしいことだ。あるいは、良いリソース/書籍などがある場合は、それを指摘してください。 – Arindam
"クラスパスで参照されているプロジェクトは存在しません"というエラーは、このエラーをすべて示しています。ビルドパスの問題があります。コードを共有することなく実際の問題が何であるかを伝えるのは難しいです。コードを共有すると私は助けることができます –