`
webpiggy
  • 浏览: 2009 次
  • 性别: Icon_minigender_1
  • 来自: 山西
最近访客 更多访客>>
社区版块
存档分类
最新评论

Hibernate Annotation 遇到问题

阅读更多
数据库结构

 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)


这是什么错误啊?有谁遇到过吗?苦恼了好几个小时了。。。
分享到:
评论
5 楼 liuwei1981 2008-05-15  
引用
webpiggy 2007-11-16
呵呵,问题解决了,我把所有的JAR包都换成了最新版本,却忘了换hibernate3的包。。。。。。


web pig
4 楼 glamey 2008-05-08  
我感觉你的HibernateUtil应该仿照myeclipse自动生成的那个例子来写,应为你的线程是不安全的,根本就没有ThreadLocal这样来重构session
3 楼 sy527 2007-11-27  
嘿嘿 按照你的例子终于事搞定了 谢谢哈
2 楼 sy527 2007-11-27  
HibernateUtils   这个类必须得写吗
1 楼 webpiggy 2007-11-16  
呵呵,问题解决了,我把所有的JAR包都换成了最新版本,却忘了换hibernate3的包。。。。。。

相关推荐

    Hibernate Annotation入门

    例如,了解Hibernate的内部工作机制,可以帮助你在遇到性能问题时进行优化;掌握使用IDE的插件和工具,可以提升开发效率,比如使用HBM2DDL工具自动生成数据库结构。 总之,Hibernate Annotation为Java开发者提供了...

    Hibernate Annotation 笔记 总结 注解

    【标题】:深入理解Hibernate Annotation及其使用 【描述】:本文将全面介绍Hibernate Annotation的使用,包括事务管理和声明式事务处理,以及如何通过注解简化数据库持久化操作。 【标签】:Hibernate, ...

    Hibernate Annotation 唯一外键一对一双向关联

    通过阅读《Hibernate_annotation_1to1_foreignKey》文档或博客,你可以更详细地了解如何配置和使用这种关联,包括示例代码、注意事项以及可能遇到的问题和解决方案。理解并熟练运用这些知识,能帮助你在使用...

    Hibernate中文文档+hibernate annotation +distribution

    对于初学者,它能帮助快速理解和掌握ORM的核心思想,而对于有经验的开发者,中文版文档则有助于在遇到问题时进行快速查阅和定位。 其次,hibernate-annotations-3.4.0GA是Hibernate支持JPA(Java Persistence API)...

    Hibernate Annotation 共享主键一对一双向关联

    本文将详细讲解“Hibernate Annotation 中的共享主键一对一双向关联”。 首先,我们需要理解什么是共享主键(Shared Primary Key)。在一对一的关联关系中,如果两个实体共享同一个主键,那么这种关联被称为共享...

    hibernate-validator-annotation-processor-4.3.1.final-sources.jar.zip

    这对于开发者来说是极其宝贵的资源,可以帮助他们在遇到问题时快速定位并解决问题,或者根据需求定制验证逻辑。 5. **应用场景**: Hibernate Validator广泛应用于各种Java项目中,尤其是那些需要严格验证输入数据...

    Spring4.1.4+SpringMVC4.1.4+Hibernate4.3.8基于annotation环境搭建

    我自己搭建的spring4+springMVC4+hibernate4.3.8基于annotation的开发环境 中间遇到好多问题,比如jar包不齐什么的,我把所有的包放在lib目录下,大家不用再去下载了

    org.springframework.orm.hibernate3.LocalSessionFactoryBean

    在开发基于Spring与Hibernate整合的应用时,可能会遇到“`org.springframework.orm.hibernate3.LocalSessionFactoryBean` not found”这样的错误提示。这个问题通常发生在尝试通过Spring管理Hibernate ...

    Struts2+Spring2.5+Hibernate3+annotation 整合程序

    5. 故障排查:可能遇到的问题及解决办法,如类加载冲突、空指针异常等。 文件“lib3”可能是项目所需的库文件夹,包含了整合这些框架所需的各种jar包,如struts2、spring、hibernate以及相关的依赖库。这些库文件...

    配置hibernate-distribution-3.6.6.Final时出现的问题及解决办法

    在配置和使用Hibernate 3.6.6.Final的过程中,开发者可能会遇到一些问题,尤其是在采用注解(Annotation)的方式进行配置时。本文将详细介绍在配置过程中遇到的一些常见问题及其解决方法。 #### 问题描述 当尝试...

    hibernate中文参考文档.pdf

    这不仅意味着有大量的资源和工具可供使用,也意味着开发者遇到问题时可以快速获得帮助。 ### Hibernate中文参考文档概览 根据文档的部分内容来看,该文档似乎覆盖了以下主题: 1. **概述**:介绍了Hibernate的...

    精通Hibernate源代码jar包3

    通过深入学习和理解这些源代码,开发者不仅可以解决实际遇到的问题,还能提升对ORM框架设计模式的理解,从而更好地利用Hibernate提升开发效率和软件质量。因此,确保下载并研究所有三个jar包至关重要,因为它们共同...

    hibernate spring 整合的问题

    在IT行业中,Hibernate和Spring是两个非常重要的框架,它们分别专注于对象关系映射(ORM)和依赖注入(DI)。Hibernate使Java开发者...在实际开发中,遇到问题时,查阅源码、使用合适工具和不断学习是解决问题的关键。

    马士兵hibernate学习笔记(原版)

    《马士兵Hibernate学习笔记》是一份深入浅出的教程,旨在帮助初学者掌握Hibernate这一流行的Java持久化框架。Hibernate是一个对象关系映射...同时,笔记中提供的资源链接和FAQ解答可以帮助解决实际操作中遇到的问题。

    hibernate-dtd文件

    当我们在Java项目中使用Hibernate时,会遇到`hibernate-dtd`文件,它是Hibernate XML配置文件的规范,帮助IDE(集成开发环境)为用户在编写这些文件时提供自动提示和验证功能。 DTD文件通常包含了一系列声明,这些...

    hibernate的知识总结

    FAQ部分虽然未具体展示,但可以推测其内容为在使用Hibernate过程中常遇到的问题和解决方案。这部分内容通常包含对最常见问题的快速解答,帮助开发者更好地理解和使用Hibernate。 ### 小结 以上总结的知识点涵盖了...

    hibernate_validator 4 中文参考

    集成的过程中,Hibernate Validator提供了一些机制来解决集成中可能遇到的问题,比如验证提供者解析器(ValidationProviderResolver)的使用。此外,Hibernate Validator还提供了XML配置方式,使得开发者可以通过XML...

    Hibernate一对多单向关联(annotation/xml)

    在实际应用中,我们可能会遇到性能优化的问题,如懒加载、级联操作(cascade)、孤儿记录删除(orphanRemoval)等。懒加载允许我们在需要时才加载子集,而级联操作则简化了对子实体的操作。孤儿记录删除确保当父实体...

Global site tag (gtag.js) - Google Analytics