`

hibernate annnotation 例子

阅读更多
package hello;

import javax.persistence.*;

@Entity
@Table(name = "MESSAGES")
public class Message {

    @Id @GeneratedValue
    @Column(name = "MESSAGE_ID")
    private Long id;

    @Column(name = "MESSAGE_TEXT")
    private String text;

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "NEXT_MESSAGE_ID")
    private Message nextMessage;

    Message() {}

    public Message(String text) {
        this.text = text;
    }

    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }

    public String getText() {
        return text;
    }
    public void setText(String text) {
        this.text = text;
    }

     public Message getNextMessage() {
         return nextMessage;
     }
     public void setNextMessage(Message nextMessage) {
         this.nextMessage = nextMessage;
     }
}


package hello;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

public class HelloWorld {

	@SuppressWarnings("unchecked")
	public static void main(String[] args) {

		// Start EntityManagerFactory
		EntityManagerFactory emf = Persistence
				.createEntityManagerFactory("helloworld");

		// First unit of work
		EntityManager em = emf.createEntityManager();
		EntityTransaction tx = em.getTransaction();
		tx.begin();

		Message message = new Message("Hello World with JPA");
		em.persist(message);

		tx.commit();
		em.close();

		// Second unit of work
		EntityManager newEm = emf.createEntityManager();
		EntityTransaction newTx = newEm.getTransaction();
		newTx.begin();

		List messages = newEm.createQuery(
				"select m from Message m order by m.text asc").getResultList();

		System.out.println(messages.size() + " message(s) found:");

		for (Object m : messages) {
			Message loadedMsg = (Message) m;
			System.out.println(loadedMsg.getText());
		}

		newTx.commit();
		newEm.close();

		// Shutting down the application
		emf.close();
	}
}


src/META-INF/persistence.xml(使用了c3p0的连接池)
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
	version="1.0">

	<persistence-unit name="helloworld">

		<!-- The provider only needs to be set if you use several JPA providers
			<provider>org.hibernate.ejb.HibernatePersistence</provider>
		-->
		<!-- This is required to be spec compliant, Hibernate however supports
			auto-detection even in JSE.
			<class>hello.Message</class>
		-->

		<properties>
			<!-- Scan for annotated classes and Hibernate mapping XML files -->
			<property name="hibernate.archive.autodetection"
				value="class, hbm" />
			
			<!-- SQL stdout logging
				<property name="hibernate.show_sql" value="true"/>
				<property name="hibernate.format_sql" value="true"/>
				<property name="use_sql_comments" value="true"/>
			-->
			<property name="hibernate.show_sql" value="true" />

			<property name="hibernate.connection.driver_class"
				value="com.mysql.jdbc.Driver" />
			<property name="hibernate.connection.url"
				value="jdbc:mysql://localhost:3306/test" />
			<property name="hibernate.connection.username" value="root" />
			<property name="hibernate.connection.password" value="root" />
			<!-- c3p0连接池 -->
			<property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider"/>
			<property name="hibernate.c3p0.min_size" value="5" />
			<property name="hibernate.c3p0.max_size" value="20" />
			<property name="hibernate.c3p0.timeout" value="300" />
			<property name="hibernate.c3p0.max_statements" value="50" />
			<property name="hibernate.c3p0.idle_test_period"
				value="3000" />

			<property name="hibernate.dialect"
				value="org.hibernate.dialect.MySQLDialect" />
			<!-- 自动建表 -->
			<property name="hibernate.hbm2ddl.auto" value="update" />

		</properties>
	</persistence-unit>

</persistence>

lib(有些是不需要的):
分享到:
评论

相关推荐

    Hibernate 经典例子全

    **标题:Hibernate经典例子全** **内容:** Hibernate是一款强大的Java持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑而无需过多关注底层的SQL语句。本资源包含了一系列的Hibernate实例,旨在...

    Hibernate实践例子程序

    Hibernate 是一个开源的O/R mappimg的框架,基于JDBC提供了一种持久性数据管理的方案,相对于EntityBean来说是相当轻量级的。由于Hibernate是基于 JDBC的,所以它的数据库查寻的能力相对于CMP来说也是异常强大的,...

    hibernate的第一个例子

    **标题解析:**“hibernate的第一个例子”表明这是一个关于Hibernate框架的基础教程,主要目标是展示如何使用Hibernate进行数据持久化操作。 **描述分析:**描述提到这是一个超级简单的例子,包含一个持久化对象...

    JavaEE Spring Hibernate框架例子.rar

    JavaEE Spring Hibernate框架例子JavaEE Spring Hibernate框架例子JavaEE Spring Hibernate框架例子JavaEE Spring Hibernate框架例子JavaEE Spring Hibernate框架例子JavaEE Spring Hibernate框架例子JavaEE Spring ...

    hibernate3.3.2 annnotation3.4.0 slf4j1.5.8

    《深入理解Hibernate 3.3.2与Annotation 3.4.0集成及SLF4J 1.5.8日志系统》 在Java世界里,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。Hibernate 3.3.2是其历史版本之一,它提供了...

    android hibernate demo例子

    在这个"android hibernate demo例子"中,开发者可能使用了一个特殊的方法或者第三方库来使Hibernate在Android上运行。 这个"OrmDemo"项目包含以下关键组件: 1. **实体类(Entity Classes)**:这些是与数据库表...

    JavaEE Hibernate框架例子.rar

    JavaEE Hibernate框架登录例子 JavaEE Hibernate框架登录例子 JavaEE Hibernate框架登录例子 JavaEE Hibernate框架登录例子 JavaEE Hibernate框架登录例子 JavaEE Hibernate框架登录例子 JavaEE Hibernate框架登录...

    一个很简单的hibernate例子

    这个例子是学习Hibernate的基础,它展示了如何使用Hibernate进行基本的数据操作。随着对Hibernate的深入学习,还可以掌握更复杂的功能,如级联操作、懒加载、缓存机制以及实体关系映射等。理解并熟练运用Hibernate,...

    hibernate入门例子

    hibernate入门例子hibernate入门例子hibernate入门例子hibernate入门例子hibernate入门例子hibernate入门例子hibernate入门例子

    hibernate小例子.rar

    【标题】:“Hibernate小例子.rar”是一个压缩包文件,它包含了一个关于Hibernate框架的实践教程或示例代码。Hibernate是一个开源的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互,使得开发者...

    Hibernate 的第一个例子

    在本文中,我们将深入探讨如何创建Hibernate的第一个例子,帮助初学者快速入门。** **一、Hibernate 简介** Hibernate 提供了丰富的API,简化了Java应用程序与关系数据库之间的交互。它通过XML配置文件或注解来定义...

    Hibernate登陆例子

    **Hibernate登录示例** 在Java Web开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使开发者可以更专注于业务逻辑而不是底层SQL查询。本示例将详细介绍如何使用Hibernate实现一个...

    Struts+Hibernate注册例子

    标签中的“struts”和“Struts+Hibernate注册例子”表明这是一个关于Struts和Struts与Hibernate集成的示例。这样的组合能够提供一个强大的后端架构,既能处理复杂的业务逻辑,又能方便地展示结果。 在实际开发中,...

    一个spring+struts+hibernate的例子

    一个spring+struts+hibernate的例子,是eclipse的工程,用tomcat5和mysql,文件夹下包含所有的源码和库,另外还有一个.sql的文件用于建立数据库。大家觉得它有什么不好,欢迎交流

    JavaEE SpringMVC Hibernate框架例子.rar

    JavaEE SpringMVC Hibernate框架登录例子 JavaEE SpringMVC Hibernate框架登录例子JavaEE SpringMVC Hibernate框架登录例子JavaEE SpringMVC Hibernate框架登录例子JavaEE SpringMVC Hibernate框架登录例子JavaEE ...

    JSF+Spring+Hibernate小例子

    这个"JSF+Spring+Hibernate小例子"为我们提供了一个整合这三者的基础应用,帮助开发者理解如何将它们有效地结合在一起。 **JavaServer Faces (JSF)** JSF是一种MVC(Model-View-Controller)框架,主要用于构建用户...

    HIbernate购物车例子,实现增删改查

    本教程通过一个购物车的例子,深入浅出地讲解了如何利用Hibernate实现增删改查(CRUD)的基本功能。 1. **Hibernate简介**:Hibernate是一个开源的ORM框架,它的主要作用是将Java对象与数据库中的表进行映射,从而...

    Struts+Hibernate简单例子

    在这个"Struts+Hibernate简单例子"中,我们将深入探讨这两个框架的基本概念、如何整合使用以及它们在实际项目中的应用。 Struts是Apache软件基金会下的一个开源框架,主要负责处理Web应用程序的业务逻辑和控制流程...

    struts +hibernate小例子

    在"struts +hibernate小例子"中,我们看到这两个框架是如何协同工作来构建一个简单但功能完备的OA(Office Automation)系统的。 Struts是MVC(Model-View-Controller)设计模式的一种实现,它使得开发者可以更有效...

Global site tag (gtag.js) - Google Analytics