数据库结构
CREATE TABLE `person` (
`id` int(4) default NULL,
`name` varchar(20) default '',
`password` varchar(20) default ''
) ENGINE=InnoDB DEFAULT CHARSET=latin1
映射表的java类
import javax.persistence.*;
@Entity
@Table(name="person")
public class User implements java.io.Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private String name;
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public User() {
}
}
HibernateUtils
import org.apache.log4j.Logger;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.Session;
public class HibernateUtils {
private static final Logger logger = Logger.getLogger(HibernateUtils.class);
private static final SessionFactory sessionFactory;
private static Configuration configuration;
private static final String resource;
static {
try {
resource = "hibernate.cfg.xml";
sessionFactory = new AnnotationConfiguration().configure(resource).buildSessionFactory();
//sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
//configuration = new Configuration();
// sessionFactory = configuration.configure("hibernate.cfg.xml").buildSessionFactory();
} catch (Exception e) {
logger.error(e.getMessage());
throw new ExceptionInInitializerError(e);
}
}
public static Session getSession() {
return sessionFactory.openSession();
}
}
hibernate.cfg.xml配置内容:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="connection.username">root</property>
<property name="connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="show_sql">true</property>
<!-- 设置entity bean -->
<!--<mapping resource="t_user.hbm.xml"/>-->
<mapping class="User"/>
</session-factory>
</hibernate-configuration>
测试类test
import org.hibernate.Session;
import org.hibernate.Transaction;
public class test {
public static void main(String[] args) {
// 将持久化的物件
User user = new User();
user.setId(3);
user.setName("ady");
user.setPassword("123456");
Session session = HibernateUtils.getSession();
Transaction tx = session.beginTransaction();
session.saveOrUpdate(user);
tx.commit();
}
}
运行出现一下异常
Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.util.ReflectHelper.classForName(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Class;
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:752)
at HibernateUtils.<clinit>(HibernateUtils.java:22)
at test.main(test.java:17)
这是什么错误啊?有谁遇到过吗?苦恼了好几个小时了。。。
分享到:
相关推荐
例如,了解Hibernate的内部工作机制,可以帮助你在遇到性能问题时进行优化;掌握使用IDE的插件和工具,可以提升开发效率,比如使用HBM2DDL工具自动生成数据库结构。 总之,Hibernate Annotation为Java开发者提供了...
【标题】:深入理解Hibernate Annotation及其使用 【描述】:本文将全面介绍Hibernate Annotation的使用,包括事务管理和声明式事务处理,以及如何通过注解简化数据库持久化操作。 【标签】:Hibernate, ...
通过阅读《Hibernate_annotation_1to1_foreignKey》文档或博客,你可以更详细地了解如何配置和使用这种关联,包括示例代码、注意事项以及可能遇到的问题和解决方案。理解并熟练运用这些知识,能帮助你在使用...
对于初学者,它能帮助快速理解和掌握ORM的核心思想,而对于有经验的开发者,中文版文档则有助于在遇到问题时进行快速查阅和定位。 其次,hibernate-annotations-3.4.0GA是Hibernate支持JPA(Java Persistence API)...
本文将详细讲解“Hibernate Annotation 中的共享主键一对一双向关联”。 首先,我们需要理解什么是共享主键(Shared Primary Key)。在一对一的关联关系中,如果两个实体共享同一个主键,那么这种关联被称为共享...
这对于开发者来说是极其宝贵的资源,可以帮助他们在遇到问题时快速定位并解决问题,或者根据需求定制验证逻辑。 5. **应用场景**: Hibernate Validator广泛应用于各种Java项目中,尤其是那些需要严格验证输入数据...
我自己搭建的spring4+springMVC4+hibernate4.3.8基于annotation的开发环境 中间遇到好多问题,比如jar包不齐什么的,我把所有的包放在lib目录下,大家不用再去下载了
在开发基于Spring与Hibernate整合的应用时,可能会遇到“`org.springframework.orm.hibernate3.LocalSessionFactoryBean` not found”这样的错误提示。这个问题通常发生在尝试通过Spring管理Hibernate ...
5. 故障排查:可能遇到的问题及解决办法,如类加载冲突、空指针异常等。 文件“lib3”可能是项目所需的库文件夹,包含了整合这些框架所需的各种jar包,如struts2、spring、hibernate以及相关的依赖库。这些库文件...
在配置和使用Hibernate 3.6.6.Final的过程中,开发者可能会遇到一些问题,尤其是在采用注解(Annotation)的方式进行配置时。本文将详细介绍在配置过程中遇到的一些常见问题及其解决方法。 #### 问题描述 当尝试...
这不仅意味着有大量的资源和工具可供使用,也意味着开发者遇到问题时可以快速获得帮助。 ### Hibernate中文参考文档概览 根据文档的部分内容来看,该文档似乎覆盖了以下主题: 1. **概述**:介绍了Hibernate的...
通过深入学习和理解这些源代码,开发者不仅可以解决实际遇到的问题,还能提升对ORM框架设计模式的理解,从而更好地利用Hibernate提升开发效率和软件质量。因此,确保下载并研究所有三个jar包至关重要,因为它们共同...
在IT行业中,Hibernate和Spring是两个非常重要的框架,它们分别专注于对象关系映射(ORM)和依赖注入(DI)。Hibernate使Java开发者...在实际开发中,遇到问题时,查阅源码、使用合适工具和不断学习是解决问题的关键。
《马士兵Hibernate学习笔记》是一份深入浅出的教程,旨在帮助初学者掌握Hibernate这一流行的Java持久化框架。Hibernate是一个对象关系映射...同时,笔记中提供的资源链接和FAQ解答可以帮助解决实际操作中遇到的问题。
当我们在Java项目中使用Hibernate时,会遇到`hibernate-dtd`文件,它是Hibernate XML配置文件的规范,帮助IDE(集成开发环境)为用户在编写这些文件时提供自动提示和验证功能。 DTD文件通常包含了一系列声明,这些...
FAQ部分虽然未具体展示,但可以推测其内容为在使用Hibernate过程中常遇到的问题和解决方案。这部分内容通常包含对最常见问题的快速解答,帮助开发者更好地理解和使用Hibernate。 ### 小结 以上总结的知识点涵盖了...
集成的过程中,Hibernate Validator提供了一些机制来解决集成中可能遇到的问题,比如验证提供者解析器(ValidationProviderResolver)的使用。此外,Hibernate Validator还提供了XML配置方式,使得开发者可以通过XML...
在实际应用中,我们可能会遇到性能优化的问题,如懒加载、级联操作(cascade)、孤儿记录删除(orphanRemoval)等。懒加载允许我们在需要时才加载子集,而级联操作则简化了对子实体的操作。孤儿记录删除确保当父实体...