`
pengwei841221
  • 浏览: 72166 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Hibernate - 入门实例

阅读更多

实体Customer类:

package wei.peng;

import java.io.Serializable;

public class Customer implements Serializable{

	private static final long serialVersionUID = 4054639727225043549L;
	private int id;
	private String name;
	private int age;
	private String job;
	
	public Customer() {
		super();
	}

	public Customer(int id, String name, int age, String job) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
		this.job = job;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getJob() {
		return job;
	}

	public void setJob(String job) {
		this.job = job;
	}
	
}

 Customer的Hibernate配置文件(和Customer类在一个目录下):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
		"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
		"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="wei.peng">
	<class name="Customer" table="customer">
		<meta attribute="sync–DAO">false</meta>

		<id name="id" type="integer" column="id">
			<generator class="increment"></generator>
		</id>
		
		<property name="name" column="name" type="string" not-null="true"
			length="50">
		</property>

		<property name="age" column="age" type="integer">
		</property>

		<property name="job" column="job" type="string" not-null="true"
			length="50">
		</property>
	</class>
</hibernate-mapping>

 Hibernate配置文件:

<?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">


<hibernate-configuration>
	<session-factory>
		<property name="hibernate.connection.url">
			jdbc:mysql://192.168.235.26:3306/mysql
        </property>

		<property name="hibernate.connection.driver_class">
			com.mysql.jdbc.Driver
        </property>

		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">mysql</property>

		<property name="hibernate.connection.pool_size">10</property>
        
		<property name="dialect">
			org.hibernate.dialect.MySQLDialect
        </property>
        
		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.hbm2ddl.auto">update</property>
		<property name="hibernate.transaction.factory_class">
			org.hibernate.transaction.JDBCTransactionFactory
        </property>
		<mapping resource="wei/peng/Customer.hbm.xml" />
	</session-factory>
</hibernate-configuration>
 

测试类CustomerTest类:

package wei.peng.test;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import wei.peng.Customer;

public class CustomerTest {

	public static void main(String[] args) {
		try {
			SessionFactory sf = new Configuration().configure().buildSessionFactory();
			Session session = sf.openSession();
			Transaction tx = session.beginTransaction();
			
			Customer cs = new Customer();
			cs.setName("wei.peng");
			cs.setAge(28);
			cs.setJob("Developer");
			
			session.save(cs);
			tx.commit();
			session.close();			
		} catch (HibernateException e) {
			e.printStackTrace();
		}
	}

}
 

 

Exception总结:

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1494)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1414)
	at wei.peng.test.CustomerTest.main(CustomerTest.java:19)
Caused by: org.dom4j.DocumentException: Error on line 2 of document  : The document type declaration for root element type "hibernate" must end with '>'. Nested exception: The document type declaration for root element type "hibernate" must end with '>'.
	at org.dom4j.io.SAXReader.read(SAXReader.java:482)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1484)
	... 3 more

Fuck ***,
拷贝网上的实例,有的家伙,也不知道有没有在直接的机器上跑过
NND,问题就是一些符号Dom4j不能解析,譬如:-    >    <
看上去,都是一样的,没有问题。
解决的办法:
    1、将XML文件在IE浏览器中打开,如果有错误,IE会提示的(相当给力啊)
    2、输入法切换到英文输入状态,IE点到哪里,你就删除IE点到的,再输入一次,就OK了
【我不知道,你们的问题是不是这个,反正我是这么搞定的,希望对你们有帮助】

 

Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/EntityListeners
	at org.hibernate.cfg.annotations.reflection.JPAMetadataProvider.getDefaults(JPAMetadataProvider.java:96)
	at org.hibernate.annotations.common.reflection.java.JavaReflectionManager.getDefaults(JavaReflectionManager.java:226)
	at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1355)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1826)
	at wei.peng.test.CustomerTest.main(CustomerTest.java:19)
Caused by: java.lang.ClassNotFoundException: javax.persistence.EntityListeners
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
	... 5 more

原因:
    没有引入hibernate-distribution-3.6.0.Final\lib\jpa下面的hibernate-jpa-2.0-api-1.0.0.Final.jar

分享到:
评论

相关推荐

    hibernate入门--第一个实例

    【hibernate入门--第一个实例】 Hibernate 是一个强大的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。通过使用Hibernate,我们可以将数据库操作转换为对Java对象的操作,从而简化了数据库...

    spring-hibernate-structs入门教程

    《Spring-Hibernate-Structs 入门教程》 在当今的Java开发领域,Spring、Hibernate和Struts(Structs)是三个非常重要的框架,它们分别在应用层、持久层和表现层发挥着关键作用。本教程将带领你深入了解这三个框架...

    Eclipse快速上手Hibernate之入门实例

    ### Eclipse快速上手Hibernate之入门实例详解 #### 引言 Hibernate是一个强大的对象关系映射(ORM)框架,用于简化数据库操作,使开发者能够用面向对象的方式处理数据库数据,而无需编写复杂的SQL语句。本篇文章将...

    hibernate-reference-3.1.1.pdf

    《深入理解Hibernate 3.1.1:从入门到精通》 一、引言与初次应用体验 在《hibernate-reference-3.1.1.pdf》文档中,开篇便引导读者进入Hibernate的世界,从一个简单的应用示例入手,逐步深入地介绍了Hibernate的...

    hibernate的入门实例

    **Hibernate入门实例** Hibernate是一个强大的Java对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库交互。这个入门实例将带你了解如何配置Hibernate、创建实体类、定义...

    Hibernate快速入门实例

    ### Hibernate快速入门实例详解 #### 一、概述 本文档主要介绍了如何通过Hibernate框架实现一个简单的Java Web项目中的数据持久化操作。通过本教程的学习,读者可以了解到如何使用Hibernate进行数据库连接、实体类...

    Hibernate入门案例源码

    【Hibernate入门案例源码】是针对初学者设计的一份教程,旨在帮助理解并掌握Java持久化框架Hibernate的基础应用。Hibernate是一个强大的ORM(对象关系映射)框架,它简化了数据库与Java对象之间的交互,使开发者可以...

    hibernate-3.6.8-doc-zh

    3. Session工厂和Session:通过SessionFactory创建Session实例,执行CRUD操作。 4. 查询操作:使用HQL或Criteria API进行数据查询,可以进行复杂的条件过滤、分页和排序。 六、最佳实践 1. 使用二级缓存提高性能:...

    hibernate入门实例操作步骤

    **hibernate入门实例操作步骤** Hibernate是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用Java对象的方式处理数据库事务。本篇将详细介绍Hibernate入门实例的操作步骤,...

    一个struts hibernate的入门实例

    在"一个Struts Hibernate的入门实例"中,我们将探讨如何将这两个框架整合到一个项目中,以实现高效、灵活的Web应用开发。 首先,Struts框架的核心组件包括Action、ActionForm、ActionServlet、Struts配置文件...

    Hibernate入门实例

    hibernate入门实例,内容是增加人员信息实例,手动配置相关配置文件、pojo类,测试数据。后台数据采用mysql数据库,有实体表创建语句,相关hibernate的jar包与数据库驱动包也上传了,可以直接使用,很方便!

    myeclipse下hibernate入门实例介绍

    ### MyEclipse 下 Hibernate 入门实例详解 #### 一、引言 本文将详细介绍如何在 MyEclipse 环境下使用 Hibernate 进行一个简单的数据库操作实例。该实例将涵盖从环境搭建到实现增删改查的基本过程。通过这个实例,...

    Hibernate快速入门教程

    【Hibernate快速入门教程】 在Java开发中,Hibernate是一个非常重要的框架,它实现了对象关系映射(ORM)技术,使得开发者可以使用面向对象的方式来操作数据库,极大地简化了数据访问层的编程工作。本教程针对初学...

    hibernate入门简单实例

    以下是关于Hibernate入门的一些关键知识点: 1. **对象关系映射(ORM)**:ORM是将数据库中的表映射为Java类的过程,通过这种方式,我们可以使用面向对象的编程方式来操作数据,而无需直接编写SQL语句。 2. **...

    hibernate5.0.4入门实例[定义].pdf

    【Hibernate 5.0.4 入门实例详解】 Hibernate 是一个开源的 Java 库,它作为对象关系映射(ORM)工具,使得开发者能够用面向对象的方式处理数据库操作,而无需关注底层 SQL 语法。在 Hibernate 5.0.4 版本中,这个...

    Hibernate-ORM-5.4.30 官方文档: 入门指南

    Hibernate ORM 5.4.30 的入门指南提供了关于如何使用 Hibernate 进行数据库操作的详细教程。文档的结构清晰,分为多个部分,引导用户了解如何通过原生的Hibernate API以及hbm.xml文件进行映射,如何使用注解映射实体...

    hibernate 入门经典实例

    ### Hibernate入门经典实例详解 #### 实验一:Hibernate开发框架搭建 **实验目的:** - 理解并掌握如何使用Hibernate进行持久层开发; - 了解三层架构的意义:业务逻辑层、数据持久层和数据库。 **技术要点:** ...

    Hibernate+struts实例学习

    ### Hibernate与Struts实例学习知识点 #### 1. 数据库设计与表建立 ...以上知识点涵盖了Hibernate与Struts实例学习过程中需要掌握的核心内容,有助于读者在实际开发中快速入门并应用Hibernate框架。

    hibernate3入门

    ### hibernate3入门知识点 #### 一、概述 **Hibernate**是一种对象关系映射(Object/Relational Mapping,简称ORM)解决方案,它提供了一种机制,用于将Java对象及其关系映射到关系型数据库中的表及其关系。通过...

Global site tag (gtag.js) - Google Analytics