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是一款强大的Java持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑而无需过多关注底层的SQL语句。本资源包含了一系列的Hibernate实例,旨在...
Hibernate 是一个开源的O/R mappimg的框架,基于JDBC提供了一种持久性数据管理的方案,相对于EntityBean来说是相当轻量级的。由于Hibernate是基于 JDBC的,所以它的数据库查寻的能力相对于CMP来说也是异常强大的,...
**标题解析:**“hibernate的第一个例子”表明这是一个关于Hibernate框架的基础教程,主要目标是展示如何使用Hibernate进行数据持久化操作。 **描述分析:**描述提到这是一个超级简单的例子,包含一个持久化对象...
JavaEE Spring Hibernate框架例子JavaEE Spring Hibernate框架例子JavaEE Spring Hibernate框架例子JavaEE Spring Hibernate框架例子JavaEE Spring Hibernate框架例子JavaEE Spring Hibernate框架例子JavaEE Spring ...
《深入理解Hibernate 3.3.2与Annotation 3.4.0集成及SLF4J 1.5.8日志系统》 在Java世界里,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。Hibernate 3.3.2是其历史版本之一,它提供了...
在这个"android hibernate demo例子"中,开发者可能使用了一个特殊的方法或者第三方库来使Hibernate在Android上运行。 这个"OrmDemo"项目包含以下关键组件: 1. **实体类(Entity Classes)**:这些是与数据库表...
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小例子.rar”是一个压缩包文件,它包含了一个关于Hibernate框架的实践教程或示例代码。Hibernate是一个开源的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互,使得开发者...
在本文中,我们将深入探讨如何创建Hibernate的第一个例子,帮助初学者快速入门。** **一、Hibernate 简介** Hibernate 提供了丰富的API,简化了Java应用程序与关系数据库之间的交互。它通过XML配置文件或注解来定义...
**Hibernate登录示例** 在Java Web开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使开发者可以更专注于业务逻辑而不是底层SQL查询。本示例将详细介绍如何使用Hibernate实现一个...
标签中的“struts”和“Struts+Hibernate注册例子”表明这是一个关于Struts和Struts与Hibernate集成的示例。这样的组合能够提供一个强大的后端架构,既能处理复杂的业务逻辑,又能方便地展示结果。 在实际开发中,...
一个spring+struts+hibernate的例子,是eclipse的工程,用tomcat5和mysql,文件夹下包含所有的源码和库,另外还有一个.sql的文件用于建立数据库。大家觉得它有什么不好,欢迎交流
JavaEE SpringMVC Hibernate框架登录例子 JavaEE SpringMVC Hibernate框架登录例子JavaEE SpringMVC Hibernate框架登录例子JavaEE SpringMVC Hibernate框架登录例子JavaEE SpringMVC Hibernate框架登录例子JavaEE ...
这个"JSF+Spring+Hibernate小例子"为我们提供了一个整合这三者的基础应用,帮助开发者理解如何将它们有效地结合在一起。 **JavaServer Faces (JSF)** JSF是一种MVC(Model-View-Controller)框架,主要用于构建用户...
本教程通过一个购物车的例子,深入浅出地讲解了如何利用Hibernate实现增删改查(CRUD)的基本功能。 1. **Hibernate简介**:Hibernate是一个开源的ORM框架,它的主要作用是将Java对象与数据库中的表进行映射,从而...
在这个"Struts+Hibernate简单例子"中,我们将深入探讨这两个框架的基本概念、如何整合使用以及它们在实际项目中的应用。 Struts是Apache软件基金会下的一个开源框架,主要负责处理Web应用程序的业务逻辑和控制流程...
在"struts +hibernate小例子"中,我们看到这两个框架是如何协同工作来构建一个简单但功能完备的OA(Office Automation)系统的。 Struts是MVC(Model-View-Controller)设计模式的一种实现,它使得开发者可以更有效...