У меня есть следующий класс модели:
package com.swaranga.model;
public final class Book
{
private Long id;
private String title;
private String isbn;
public Book(){}
public Book(String title, String isbn)
{
this.title = title;
this.isbn = isbn;
}
public final Long getId(){
return id;
}
private final void setId(Long id)
{
this.id = id;
}
public final String getTitle()
{
return title;
}
public final void setTitle(String title)
{
this.title = title;
}
public final String getIsbn()
{
return isbn;
}
public final void setIsbn(String isbn)
{
this.isbn = isbn;
}
//assume valid equals and hashcode
}
Имеется следующий файл сопоставления Book.hbm.xml:
<hibernate-mapping>
<class name="com.swaranga.model.Book" table="book">
<id name="id" type="long">
<generator class="native"/>
</id>
<property name="title" column="title" type="string"/>
<property name="isbn" column="isbn" type="string"/>
</class>
</hibernate-mapping>
Следующая схема базы данных:
CREATE TABLE `hibernatetest`.`book` (
`id` int(10) unsigned NOT NULL auto_increment,
`title` varchar(45) NOT NULL,
`isbn` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Следующий файл конфигурации Hibernate:
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver </property>
<property name="connection.url">jdbc:mysql://localhost:3306/HibernateTest </property>
<property name="connection.username"> root </property>
<property name="connection.password"> latitude </property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect </property>
<property name="myeclipse.connection.profile">mysql</property>
<mapping resource="com\swaranga\model\Book.hbm.xml" />
</session-factory>
</hibernate-configuration>
И, наконец, следующий код для сохранения объекта Book
:
public class Main
{
public static void main(String[] args)
{
File f = new File("hibernate.cfg.xml");
Configuration cfg = new Configuration();
SessionFactory sessionFactory = cfg.configure(f).buildSessionFactory();
Session s = sessionFactory.openSession();
s.beginTransaction();
s.save(new Book("JDBC", "ISBN_!@#"));
s.flush();
s.disconnect();
}
}
В консоли выводится следующий вывод:
Hibernate: insert into book (title, isbn) values (?, ?)
Но когда я проверяю свою базу данных, там нет записей.
Извиняюсь за такой длинный вопрос, но я счел необходимым предоставить все детали.Пожалуйста помоги.Заранее спасибо.