[英]hibernate 3 with mysql
我正在使用休眠版本3.6.4 final和mysql workbench和tomcat 7,我的错误是资源:当我尝试在此处运行主类时找不到HibernateClasses.Book,这是Java测试类
package Controller;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import HibernateClasses.Book;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
Book book = new Book();
book.setBookId(1);
SessionFactory sessionfactory = new Configuration().configure().buildSessionFactory();
Session session = sessionfactory.openSession();
session.beginTransaction();
session.save(book);
session.getTransaction().commit();
}
}
和XML文件hibernate.cfg.xml
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ Copyright (c) 2010, Red Hat Inc. or third-party contributors as
~ indicated by the @author tags or express copyright attribution
~ statements applied by the authors. All third-party contributions are
~ distributed under license by Red Hat Inc.
~
~ This copyrighted material is made available to anyone wishing to use, modify,
~ copy, or redistribute it subject to the terms and conditions of the GNU
~ Lesser General Public License, as published by the Free Software Foundation.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
~ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
~ for more details.
~
~ You should have received a copy of the GNU Lesser General Public License
~ along with this distribution; if not, write to:
~ Free Software Foundation, Inc.
~ 51 Franklin Street, Fifth Floor
~ Boston, MA 02110-1301 USA
-->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/archive</property>
<property name="connection.username">root</property>
<property name="connection.password"/>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create</property>
<mapping resource="HibernateClasses.Book"/>
</session-factory>
</hibernate-configuration>
还有书籍类Book.java
package HibernateClasses;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.NamedNativeQueries;
import javax.persistence.NamedNativeQuery;
@Entity
@NamedNativeQueries({
@NamedNativeQuery(name="Book.byId",query="Select * from book where bookId=?",resultClass=Book.class),
@NamedNativeQuery(name="Book.all",query="Select * from book ",resultClass=Book.class)
})
public class Book {
@Id
private int bookId;
private String reference;
private Date date;
private String bookSubject;
@Lob
private String bookNote;
private String bookfrom;
private String bookto;
@Lob
private String notes;
public int getBookId() {
return bookId;
}
public void setBookId(int bookId) {
this.bookId = bookId;
}
public String getReference() {
return reference;
}
public void setReference(String reference) {
this.reference = reference;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getBookSubject() {
return bookSubject;
}
public void setBookSubject(String bookSubject) {
this.bookSubject = bookSubject;
}
public String getBookNote() {
return bookNote;
}
public void setBookNote(String bookNote) {
this.bookNote = bookNote;
}
public String getBookfrom() {
return bookfrom;
}
public void setBookfrom(String bookfrom) {
this.bookfrom = bookfrom;
}
public String getBookto() {
return bookto;
}
public void setBookto(String bookto) {
this.bookto = bookto;
}
public String getNotes() {
return notes;
}
public void setNotes(String notes) {
this.notes = notes;
}
}
尝试在文件hibernate.cfg.xml
添加mapping class
,如下所示:
...
<mapping class="HibernateClasses.Book"/>
</session-factory>
</hibernate-configuration>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.