hibernate使用注解
2016-05-31 18:55
316 查看
重复配hibernate-mapping导致工作量加大,一张表要配置一个hibernate-mapping
使用注解
1.org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
下有个方法
public void setPackagesToScan(String... packagesToScan) {
this.packagesToScan = packagesToScan;
}
packagesToScan=》指定使用了注解的类所在的包下即可,不用重复配置hibernate-mapping
2.<!--
不加 <prop key="hibernate.hbm2ddl.auto">update</prop> 数据库有对应的表没事,没表的话就会异常 -->
<prop key="hibernate.hbm2ddl.auto">update</prop>
实体类
使用注解
1.org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
下有个方法
public void setPackagesToScan(String... packagesToScan) {
this.packagesToScan = packagesToScan;
}
packagesToScan=》指定使用了注解的类所在的包下即可,不用重复配置hibernate-mapping
2.<!--
不加 <prop key="hibernate.hbm2ddl.auto">update</prop> 数据库有对应的表没事,没表的话就会异常 -->
<prop key="hibernate.hbm2ddl.auto">update</prop>
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <!-- Hibernate session factory --> <!-- org.springframework.orm.hibernate3.LocalSessionFactoryBean org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> <!-- 不加 <prop key="hibernate.hbm2ddl.auto">update</prop> 数据库有对应的表没事,没表的话就会异常 --> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> <!-- <property name="mappingResources"> <list> <value>com/yiibai/customer/hibernate/Customer.hbm.xml</value> </list> </property> --> <!-- 使用注解 --> <property name="packagesToScan" value="com.yiibai.customer.model"/></span> </bean> <!-- 事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 注解驱动,声明使用注解式事务 --> <!-- 设置proxy-target-class="true"可以注入实现类,默认只能注入接口 --> <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/> <!-- 事务代理 --> <bean id="txProxyTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager" ref="transactionManager" /> <property name="transactionAttributes"> <props> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> </beans>
实体类
package com.yiibai.customer.model; import java.util.Date; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.GenericGenerator; @Entity @DynamicUpdate public class Customer implements java.io.Serializable { /** * */ private static final long serialVersionUID = 1L; private int customerId; private String name; private String address; private Date createdDate; public Customer() { } public Customer(String name, String address, Date createdDate) { this.name = name; this.address = address; this.createdDate = createdDate; } @Id @GeneratedValue //@GenericGenerator(name = "", strategy = "") public int getCustomerId() { return this.customerId; } public void setCustomerId(int customerId) { this.customerId = customerId; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getAddress() { return this.address; } public void setAddress(String address) { this.address = address; } public Date getCreatedDate() { return this.createdDate; } public void setCreatedDate(Date createdDate) { this.createdDate = createdDate; } }
相关文章推荐
- android中异步任务AsyncTask的应用和工作原理
- android学习笔记--activity生命周期
- hdoj 2087 剪花布条 【字符串】
- 华为机试---数据分类处理
- Oracel给字段设置索引
- 每个程序员都应该了解的 CPU 高速缓存
- ABAP管理和性能分析中用到的重要分析工具概述
- Java类与Json的转换
- android 快速点击两次出现两个重复界面
- jquery
- linux常用的配置文件, 通过软链接建立与系统配置文件的联系(vim等)
- spring quartz 定时器时间格式设置
- kafka connector
- AsyncTask和Handler两种异步方式的实现和区别比较
- 对象的持久化
- 虚函数 以及dynamic_cast static_cast
- 【BZOJ1710】[Usaco2007 Open]Cheappal 廉价回文【区间DP】
- adb push permission denied解决办法
- 求教 INSERT INTO SELECT FROM 这语句怎么用具体的实例 谢谢了
- Oracle存储过程基本语法介绍