Hibernate erstellt keine Tabellen mit H2 in der Speicherdatenbank

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Hibernate erstellt keine Tabellen mit H2 in der Speicherdatenbank

by Anonymous » 05 Sep 2025, 01:02

Ich versuche eine Anwendung zu testen, die SpringMVC und Winterschlaf mit MySQL verwendet. Ich habe versucht, HSQLDB zu verwenden, aber da die Syntax nicht mit MySQL übereinstimmt, funktionieren die Abfragen möglicherweise nicht, also habe ich beschlossen, zu H2 zu gehen. < /p>

Ich habe einen einfachen Test konfiguriert, der nichts macht. Ich möchte nur, dass er ausführen kann.@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);
}
}
< /code>

ApplicationContext.xml














< /code>

< /p>

Persistence.xml


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

org.hibernate.ejb.HibernatePersistence











< /code>

< /p>

mailconfig.java

@Entity
public class MailConfig {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;
@Column
String host;
}
< /code>

Ich gib die Hibernate -Konfiguration im Test an, da die Anwendung Java -Klassen und nicht die XML -Dateien verwendet. < /p>

Kann mir jemand dabei helfen? Oder wenn es eine einfachere Möglichkeit gibt, es mit Java -Klassen zu testen, könnte ich noch keine Lösung herausfinden.>

Top