我感覺真的很愚蠢,不得不問這個問題。但我一直在查看我的代碼4個小時,但無法弄清楚。我已經重建了好幾次數據庫,並且無法正常工作。 我的表格之一由於某種原因未被創建。我有4桌遊戲,開發人員,gameimage和用戶。用戶沒有被創建,但另一個正在完美創建並正在工作。我相信這是一個愚蠢的錯誤,但我只是沒有看到它。 如果有人可以告訴我爲什麼這可能會發生,這將是偉大的。 我使用的TopLink一個表不是由toplink創建的
這裏是我的代碼:
持久的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
}
瘋狂......我今天看到過這個問題兩次([Hibernate沒有在Db中創建表,但顯示創建語句](http://stackoverflow.com/questions/10919844/hibernate-has-not-created- table-in-db-but-showing-create-statement))...也許原因/解決方案可能是相關的。 –
我不認爲這是同一個問題:/ –
1)如果你只是添加一個autogenereated int /長ID - 它會開始工作? 2)如果您先手動放下它,它會創建表格嗎? – esej