Ruhezustand "Tabelle nicht gefunden" Fehler zur Laufzeit
Erstellt habe ich die Datenbank erfolgreich mit keine Fehler, und auch ich Hinzugefügt dummy-Daten nach der Erstellung. Als Nächstes versuche ich Daten aus einer Datenbank abrufen, jedoch habe ich gesehen, eine Fehlermeldung auf der Konsole. Es versucht, die Tabelle, die erstellt wurde, vor.Keine Notwendigkeit, neu zu erstellen :/ich habe internet gesucht und konnte nicht finden, alles, was im Zusammenhang dieser.
Benutze ich MYSQL-db, hibernate 4. Diese 3 Klassen (Material,MaterialProjectBrief,MaterialProjectImage) habe keine onetomany,manytoone Annotation. Ich habe noch andere Tabellen der gleichen Struktur, Sie sind gut (tun CRUD). Ich verwende Anmerkungen ich nur Hinzugefügt, mapping, klassifiziert, um hibernate.cfg.xml.
(Sorry für das schreiben schnell, weil ich das Büro verlassen jetzt.
Hier ist die MaterialProjectImage Klasse.
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class MaterialProjectImage implements Serializable {
private static final long serialVersionUID = 3886003470849765887L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@Column(name="LINK")
private String link;
@Column(name="TITLE")
private String title;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
Hier ist der log.
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000261: Tabelle gefunden: PORTAL.material
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000037: Spalten: [id, aboutus, über, sıtemap, vısıon,
worklocatıon, mıssıon -, Kunden -, rad -, Ziel]22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000108: Foreign keys: []
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000126: Indizes: [prımary]
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000261: Tabelle gefunden: PORTAL.materialprojectbrief
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000037: Spalten: [id, tıtle, shortbrıef, ıconlınk]
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000108: Foreign keys: []
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000126: Indizes: [prımary]
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Tabelle nicht gefunden: MaterialProjectImage
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000261: Tabelle gefunden: PORTAL.person
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000037: Spalten: [id, username, ınfo, ımgpath, name, Rolle,
Passwort]22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000108: Foreign keys: []
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000126: Indizes: [prımary]
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000261: Tabelle gefunden: PORTAL.Projekt
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000037: Spalten: [id, faq, tıtle, url, ınstallatıon]
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000108: Foreign keys: []
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000126: Indizes: [prımary]
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000261: Tabelle gefunden: PORTAL.projectwebview
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000037: Spalten: [id, ıntro, ımglınk, project_id, Typ]
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000108: Foreign keys: [fk_9qlhqdt00j5a5hknep10wu44c]
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000126: Indizes: [fk_9qlhqdt00j5a5hknep10wu44c, prımary]
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000261: Tabelle gefunden: PORTAL.project_document
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000037: Spalten: [document_id, project_id]
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000108: Foreign keys: [fk_6gwm4ft0jihnaprel3uem1or6,
fk_ctnt2crdturw4k3xc5w4r5571]22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000126: Indizes: [fk_6gwm4ft0jihnaprel3uem1or6,
uk_6gwm4ft0jihnaprel3uem1or6, fk_ctnt2crdturw4k3xc5w4r5571]22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Tabelle nicht gefunden: MaterialProjectImage
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.SchemaUpdate ausführen
FEHLER: HHH000388: Fehlgeschlagen: erstellen Tabelle MaterialProjectImage (id
integer not null auto_increment, LINK varchar(255), TITLE
varchar(255), primary key (id))22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.SchemaUpdate ausführen
FEHLER: Table 'materialprojectimage' existiert bereits
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.SchemaUpdate ausführen
INFO: HHH000232: Schema update complete
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich vermute, es ist die groß-und Kleinschreibung. Wie pro die MySQL-Dokumentation:
Wie Tabellen-und Datenbank-Namen auf der Festplatte gespeichert sind und verwendet MySQL ist beeinflusst durch die Systemvariable lower_case_table_names, die Sie beim Start von mysqld. lower_case_table_names kann die Werte in der folgenden Tabelle dargestellt. Unter Unix ist der Standardwert von lower_case_table_names 0 ist. Unter Windows ist der Standard-Wert ist 1. Auf Mac OS X, der Standardwert ist 2.
Bedeutung
0-Tabelle und Datenbank-Namen auf der Festplatte gespeichert sind, mithilfe der lettercase angegeben, die in der CREATE TABLE-oder CREATE DATABASE-Anweisung. Name Vergleiche die groß - /Kleinschreibung. Sie sollten nicht setzen Sie diese variable auf 0, wenn Sie MySQL auf einem system, auf groß-und Kleinschreibung in Dateinamen (wie Windows oder Mac OS X). Wenn Sie erzwingen, dass diese variable auf 0 --lower-case-table-names=0 auf einem der groß-und Kleinschreibung Dateisystem und Zugriff auf MyISAM tablenames mit verschiedenen lettercases, index Korruption führen kann.
1 Tabellennamen werden in Kleinbuchstaben gespeichert auf der Festplatte und benennen Vergleiche sind nicht case sensitive. MySQL konvertiert alle Tabellennamen in Kleinbuchstaben auf die Speicherung und lookup. Dieses Verhalten gilt auch für Datenbanknamen und tabellenaliase.
2 Tabellen-und Datenbank-Namen auf der Festplatte gespeichert sind, mithilfe der lettercase angegeben, die in der CREATE TABLE-oder CREATE DATABASE-Anweisung, aber MySQL wandelt Sie in Kleinbuchstaben auf lookup. Name Vergleiche sind nicht case sensitive. Dies funktioniert nur auf Dateisystemen, die groß-und Kleinschreibung nicht! InnoDB-Tabelle Namen gespeichert sind, in den Kleinbuchstaben, wie zum lower_case_table_names=1.
http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html
Blick auf Ihre Fehlerprotokolle es scheint sehr wahrscheinlich:
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Tabelle nicht gefunden: MaterialProjectImage
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.SchemaUpdate ausführen
FEHLER: HHH000388: Fehlgeschlagen: erstellen Tabelle MaterialProjectImage (id integer not null auto_increment, LINK varchar(255), TITLE varchar(255), primary key (id))
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.SchemaUpdate ausführen
FEHLER: Table 'materialprojectimage' existiert bereits
22.Kas.2013 20:17:05 org.hibernate.tool.hbm2ddl.SchemaUpdate ausführen
INFO: HHH000232: Schema update complete
Ich habe das problem behoben durch hinzufügen von @Table(name="material") annotation unter der @Entity annotation nach hier . Bevor Sie dies tun, ich habe die lower_case_table_names jedoch das problem noch weiter. Dann habe ich gemerkt hinzufügen Registerkarte Anmerkung. Danke.