hibernate Annotation 注解形式 实例 事务 hibernate.cfg.xml

实体类:

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class foo {

	private int id;
	private String name;
	private String total;

	@Id
	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 String getTotal() {
		return total;
	}
	public void setTotal(String total) {
		this.total = total;
	}
}

特别要注意配置文件的申请,一般是:

 <mapping resource="com/model/foo.hbm.xml"/>

使用Annotation 注解形式就要写成:

<mapping class = "com.model.foo.hbm.xml"/>

还有在实例化的时候,要写成:

Configuration configuration = new AnnotationConfiguration();

只有AnnotationConfiguration可以认识注解形式的实体类。

完整调用类:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;

public class test1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		foo s = new foo;
		s.setId(1);
		s.setName(2);
		S.settotal(ss);

		Configuration configuration = new AnnotationConfiguration();
		SessionFactory sessionFactory = configuration.buildSessionFactory();
		Session session = sessionFactory.openSession();

		//用事务方式储存\
		session.beginTransaction();
		session.save(s);
		session.getTransaction().commit();
		session.close();

		//sessionFactory也要关闭
		sessionFactory.close();

	}

}
时间: 2024-09-27 19:41:10

hibernate Annotation 注解形式 实例 事务 hibernate.cfg.xml的相关文章

Hibernate(3)——实例总结Hibernate对象的状态和ThreadLoacl封闭的session

就可以让该方法的原子性得到保证. 4)由于3)的方式应用十分普遍,用spring AOP 对 service 层进行事务控制就更简单了,上面三行代码甚至都不必写.   注意:永远不在DAO的方法内做开启session.打开事务.提交事务.释放session这些事,一般来说这不是什么好习惯.一般交给Spring AOP 容器去做事务的管理.   能否不使用事务保存对象 Hibernate3.3为了提倡大家使用事务,把默认的setAutoCommit设为false,所以,不使用事务也可以实现对象保存

hibernate中用annotation注解怎么样配置TIMESTAMP类型的数据呢

问题描述 请问hibernate中用annotation注解怎么样配置TIMESTAMP类型的数据并且能自动插入和更新呢?就是相当于mysql中timeTIMESTAMPDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP;这样的数据列,在hibernate中怎么样用annotation注解来配置呢(不要xml的配置方式).各位大虾帮帮忙啊,跪求中-- 解决方案 解决方案二:没用过注解吖.看下这个资料吧解决方案三:@Column(name="D_UP

学习Hibernate Annotation使用实例

 目前,JPA(Java Persistence API)的使用范围越来越广,作为Java EE 5.0平台标准的ORM规范,得到了诸如:Hibernate.TopLink.OpenJpa等ORM框架的支持,同时还是EJB 3.0的重要组成部分.JPA的宗旨是为POJO提供持久化标准规范.它能够脱离容器独立运行,方便开发和测试.本文将通过一个小实例来说明如何在Hibernate中使用JPA,来达到简化编程的目的.     开发环境  Eclipse 3.3.1  MyEclipse 6.0.1G

【hibernate框架】使用Annotation注解进行实体类操作

上一篇讲的是hibernate的环境搭建,因为现在大部分公司在使用Annotation来操作实体类进而进行表的建立,免去了写Xxx.hbm.xml表映射文件的烦恼,所以我再写一个用Annotation来操作实体类的例子: 导包什么的我就不说了,详情看上一篇吧,直接切入主题: 1.首先说说什么是注解(Annotation),这个学过Java基础的人应该不陌生,这里只说一下在hibernate框架里如何使用. @符号后面加一个名字就是Annotation 使用注解Annotation时用的jar包.

spring + hibernate全注解事务问题(牛人赐教)

问题描述 spring.xml<beanid="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><propertyname="dataSource"><refbean="dataSource"/></property><prop

急,hibernate annotation JPA注解下的单向OneToOne问题

问题描述 2张表A,BA表中有一外键指向B表的主键,用@OneToOne(targetEntity = B.class,fetch = FetchType.LAZY)注解后,利用hibernate自动生成的表中,B表中也对应出现了A表的外键字段,我现在希望A表中有B的外键但B中不能有A的外键,请问该怎么设置?A:id, name,B_idB:id,name 解决方案 @OneToOne(targetEntity = B.class,fetch = FetchType.LAZY) 是否在B类中也设

使用Hibernate 和 Spring 实现一个事务持久层

1.首先实现一个接口. ============================================================ package com.cqtele.tnbos;import java.util.*;public interface IUserDao { public void insertUser(userInfo user); public List findUser(String sql);} ===============================

web app-项目找不到hibernate.cfg.xml也找不到applicationContext.xml

问题描述 项目找不到hibernate.cfg.xml也找不到applicationContext.xml 公司项目框架是ssh2使用注解开发.这两个文件是不是必须的?为什么会找不到呢web.xml配置如下<?xml version=""1.0"" encoding=""UTF-8""?> innermanager contextConfigLocation classpath:/config/spring/*.x

hibernate配置文件hibernate.cfg.xml的详细解释

标准的XML文件的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML文件的编码方式 <?xml version='1.0' encoding='Utf-8'?> 表明解析本XML文件的DTD文档位置,DTD是Document Type Definition 的缩写,即文档类型的定义,XML解析器使用DTD文档来检查XML文件的合法性.hibernate.sourceforge.net/hibernate-configuration-3.0dtd可以