gpt4 book ai didi

java - toplink 未创建一张表

转载 作者:行者123 更新时间:2023-12-02 07:45:31 30 4
gpt4 key购买 nike

我觉得问这个问题真的很蠢。但我已经看了 4 个小时的代码了,还是无法弄清楚。我已经重建了我的数据库好几次了,但无法让它工作。由于某种原因,我的一张表没有被创建。我有 4 张 table 游戏、开发者、游戏图像和用户。尚未创建用户,但其他用户正在完美创建并正常工作。我确信这是一个愚蠢的错误,但我就是不明白。如果有人能告诉我为什么会发生这种情况,那就太好了。我正在使用顶部链接

这是我的代码:

持久性 xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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_1_0.xsd">
<persistence-unit name="GameDatabasePU" transaction-type="RESOURCE_LOCAL">
<provider>oracle.toplink.essentials.PersistenceProvider</provider>
<class>domainmodel.Game</class>
<class>domainmodel.GameImage</class>
<class>domainmodel.Developer</class>
<class>domainmodel.User</class>
<properties>
<property name="toplink.jdbc.user" value="app"/>
<property name="toplink.jdbc.password" value="app"/>
<property name="toplink.jdbc.url" value="jdbc:derby://localhost:1527/Gamedatabase;create=true"/>
<property name="toplink.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="toplink.ddl-generation" value="drop-and-create-tables"/>
</properties>
</persistence-unit>
</persistence>

用户:

@Entity
public class User {
@Id
private String username;
private String password;
private String firstName;
private String surname;

public User() {
}

public User(String naam, String pas){
setUsername(naam);
setPassword(pas);
}

public User(String naam, String pas, String firstName, String surname){
setUsername(naam);
setPassword(pas);
setFirstName(firstName);
setSurname(surname);
}

public void setUsername(String naam){
this.username=naam;
}
//methods
}

最佳答案

这并不是真正的答案,而是更多一些缩小问题范围的提示。

1) 尝试从 persistence.xml 中删除所有其他类(注释掉其他类上的注释)

也许问题出在另一个类中,并且输出具有误导性。

2) 尝试将调试/输出级别设置为另一个级别(DEBUG、FINE、FINEST)并让 JPA 提供程序公开查询。

对于 TopLink,我认为将其添加到您的保留属性部分即可解决问题:

<property name="toplink.logging.level" value="FINEST" />

3) 您使用哪个数据库? MySql、PostgreSQL、HSQL、SQL 服务器?

某些数据库不(完全)支持某些功能。

4)应该不重要,但无论如何;

使用@Table(name = "user")@Table(name = "usera")注释您的User类,这将确保表名称是'问题所在。

关于java - toplink 未创建一张表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10923904/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com