【问题标题】:JPA Eclipse "Generating Tables From Entities" hangs foreverJPA Eclipse“从实体生成表”永远挂起
【发布时间】:2014-09-18 16:08:32
【问题描述】:

在 Windows 8 64 位机器上,在 Eclipse Luna 中,我使用 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 => Generate Tables From Entities 时,eclipse 开始创建表......并且永远持续下去。没有例外,没有其他消息,它只是阻塞了这个操作。

我什至无法取消它。如果我尝试这样做,它只会在项目中添加“取消请求”并继续。关闭 eclipse 也是不可能的,因为它正在等待当前操作的完成。

.metadata\.log 不包含任何关于此的新信息。

哦,我选择“sql-script”作为输出,以防万一。

有什么想法吗?

【问题讨论】:

    标签: java eclipse jpa eclipselink


    【解决方案1】:

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

    【讨论】:

    • 类被添加到persistence.xml中,但对我来说仍然挂起。
    【解决方案2】:

    它需要永远的原因是主要进程是单线程的,并且可能是由使用遗留样式编码的人开发的。即使你有 8 个 CPU,进程也只能使用单个线程和有限的内存。

    【讨论】:

      猜你喜欢
      • 2013-01-31
      • 2017-12-16
      • 2011-06-08
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多