Я разрабатываю простое приложение java с Hibernate с использованием H2.Спящий режим с H2 не сохраняет данные
Я не получаю исключения. Выход Hibernate и файл трассировки H2 показывают мне вставку данных.
Но данные не хранятся в db. Ни в спящем режиме, ни в консоли H2 не отображаются все вставленные данные.
Возможно, у кого-то есть идея.
Thx
Это мой Hibernate конфигурация:
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.H2Dialect</property>
<property name="hibernate.connection.driver_class">org.h2.Driver</property>
<property name="hibernate.connection.url">jdbc:h2:~/HibTest;TRACE_LEVEL_FILE=3;FILE_LOCK=NO</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.hbm2ddl.auto">create-drop</property>
<mapping package="de.test.hib.domain" />
<mapping class="de.test.hib.domain.Data" />
</session-factory>
</hibernate-configuration>
Это мой класс домена:
package de.test.hib.domain;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
@Entity
@SequenceGenerator(sequenceName="SEQ_DATA",name="SEQ_DATA_GEN",initialValue=1)
public class Data implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String content;
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
if (!(object instanceof Data)) {
return false;
}
Data other = (Data) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator="SEQ_PERSON_GEN")
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(nullable=false)
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
И процесс сохраняющийся:
Transaction trans = HibernateUtils.getInstance().getCurrentSession().beginTransaction();
HibernateUtils.getInstance().getCurrentSession().saveOrUpdate(this);
HibernateUtils.getInstance().getCurrentSession().flush();
trans.commit();
Между тем, я объединил Spring для управления связью Hibernate. Он работает с этим решением, но ввел небольшое приложение для моего приложения. – steyze