Hibernate не создает таблицы с H2 в базе данных памятиJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Hibernate не создает таблицы с H2 в базе данных памяти

Сообщение Anonymous »

Я пытаюсь протестировать приложение, использующее SpringMVC и Hibernate с MySQL. Я пробовал использовать HSQLDB, но поскольку синтаксис не такой, как у MySQL, запросы могут не работать, поэтому я решил перейти на H2.
Проблема в том, что когда я запускаю его, он говорит: «Таблица MAILCONFIG не найдена», а если я создал синтаксис INIT, он говорит, что она уже существует.

Я настроил простой тест, который ничего не делает, я только хочу, чтобы он запускался.

У меня есть следующие файлы:

ServiceTest.java

Код: Выделить всё

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

org.hibernate.ejb.HibernatePersistence











MailConfig.java

Код: Выделить всё

@Entity
public class MailConfig {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;
@Column
String host;
}
Я указываю в тесте конфигурацию Hibernate, поскольку приложение использует классы Java, а не файлы XML.

Может ли кто-нибудь мне с этим помочь? Или, если есть более простой способ протестировать его с помощью классов Java, я тоже приветствую, я пока не нашел решения.
Я хочу, чтобы он работал локально, а затем он должен работать и с jenkins, чтобы он мог создавать вещи, которые невозможно сделать на виртуальной машине.

Спасибо!>
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»