繁体   English   中英

使用MySQL休眠3

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM