Hibernate erstellt keine Tabellen mit H2 in der SpeicherdatenbankJava

Java-Forum
Guest
 Hibernate erstellt keine Tabellen mit H2 in der Speicherdatenbank

Post by Guest »

Ich versuche, eine Anwendung zu testen, die SpringMVC und Hibernate mit MySQL verwendet. Ich habe versucht, HSQLDB zu verwenden, aber da die Syntax nicht mit der von MySQL übereinstimmt, funktionieren die Abfragen möglicherweise nicht, also habe ich mich für H2 entschieden.
Das Problem ist, dass beim Ausführen die Meldung „Tabelle MAILCONFIG nicht gefunden“ angezeigt wird Wenn ich es mit der INIT-Syntax erstellt habe, heißt es, dass es bereits existiert.

Ich habe einen einfachen Test konfiguriert, der nichts tut, ich möchte nur, dass er ausgeführt wird.

Ich habe die folgenden Dateien:

ServiceTest.java

Code: Select all

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"file:src/test/resources/applicationContext.xml"})
@Transactional
@WebAppConfiguration
public class ServiceTest {

private static DataSource ds;

@BeforeClass
public static void setUpConnection(){
ds = new DataSource();
ds.setDriverClassName("org.h2.Driver");
ds.setUrl("jdbc:h2:mem:testDB");
ds.setUsername("sa");
ds.setPassword("");
HibernateConfiguration.dataSourceTest(ds);
}

@AfterClass
public static void cleanConnection(){
HibernateConfiguration.dataSourceTest(null);
}
}
applicationContext.xml

Code: Select all













persistence.xml

Code: Select all

         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_2_0.xsd"
version="2.0">

org.hibernate.ejb.HibernatePersistence











MailConfig.java

Code: Select all

@Entity
public class MailConfig {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;
@Column
String host;
}
Ich gebe im Test die Hibernate-Konfiguration an, da die Anwendung Java-Klassen und nicht die XML-Dateien verwendet.

Kann mir jemand dabei helfen? Oder wenn es eine einfachere Möglichkeit gibt, es mit Java-Klassen zu testen, ist das auch willkommen, ich konnte noch keine Lösung finden.
Ich möchte, dass es lokal funktioniert, und dann muss es auch mit Jenkins funktionieren, damit es funktioniert Erstellen Sie Dinge, die auf der VM nicht möglich sind.

Vielen Dank!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post