JPA Eclipse“从实体生成表”永远悬而未决

时间:2014-07-27 07:29:31

标签: java eclipse jpa eclipselink

在Eclipse Luna的Windows 8 64位机器上,我使用JPA(EclipseLink 2.5.x)和Apache Derby作为JDBC连接。

到目前为止我的persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="ReportWriter" transaction-type="RESOURCE_LOCAL">
        <class>com.example.Clazz</class>
        <class>com.example.CommentBank</class>
        <class>com.example.CommentCategory</class>
        <class>com.example.CourseWork</class>
        <class>com.example.GradeModel</class>
        <class>com.example.Pupil</class>
        <class>com.example.PupilCoursework</class>
        <class>com.example.Report</class>
        <class>com.example.Year</class>
        <properties>
            <property name="javax.persistence.jdbc.url" value="jdbc:derby:D:\rwdb.db"/>
            <property name="javax.persistence.jdbc.user" value="rwdbuser"/>
            <property name="javax.persistence.jdbc.password" value="rwdbpassword"/>
            <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
            <property name="eclipselink.jdbc.exclusive-connection.is-lazy" value="true"/>
        </properties>
    </persistence-unit>
</persistence>

使用向导,我在Eclipse中创建了一个新的数据库连接,效果非常好。

我想做JPA Tools =&gt; Generate Tables From Entities,eclipse开始创建表格......并且永远持续下去。没有例外,没有其他消息,它只是阻止此操作。

我甚至无法取消它。如果我尝试这样做,它只会添加&#34;取消请求&#34;到项目并继续前进。关闭日食也是不可能的,因为它等待当前的操作完成。

.metadata\.log并未包含任何有关此内容的新信息。

哦,我选择&#34; sql-script&#34;作为输出,以防万一。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

应该生成的类必须列在persistence.xml中。 一旦我这样做了,它就有用了。

答案 1 :(得分:-1)

它永远需要的原因是主要进程是单线程的,可能是由使用传统样式编码的人开发的。即使您有8个CPU,该过程也只能使用单个线程和有限的内存。