Hibernate实战——数据过滤

一 配置

<?xml version="1.0" encoding="GBK"?>
<!-- 指定Hibernate配置文件的DTD信息 -->
<!DOCTYPE hibernate-configuration PUBLIC
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
     "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!-- hibernate-configuration是配置文件的根元素 -->
<hibernate-configuration>
     <session-factory>
           <!-- 指定连接数据库所用的驱动 -->
           <property  name="connection.driver_class">com.mysql.jdbc.Driver</property>
           <!-- 指定连接数据库的url,其中hibernate是本应用连接的数据库名 -->
           <property  name="connection.url">jdbc:mysql://localhost/hibernate</property>
           <!-- 指定连接数据库的用户名 -->
           <property name="connection.username">root</property>
           <!-- 指定连接数据库的密码 -->
           <property name="connection.password">32147</property>
           <!-- 指定连接池里最大连接数 -->
           <property  name="hibernate.c3p0.max_size">20</property>
           <!-- 指定连接池里最小连接数 -->
           <property name="hibernate.c3p0.min_size">1</property>
           <!-- 指定连接池里连接的超时时长 -->
           <property  name="hibernate.c3p0.timeout">5000</property>
           <!-- 指定连接池里最大缓存多少个Statement对象 -->
           <property  name="hibernate.c3p0.max_statements">100</property>
           <property  name="hibernate.c3p0.idle_test_period">3000</property>
           <property  name="hibernate.c3p0.acquire_increment">2</property>
           <property  name="hibernate.c3p0.validate">true</property>
           <!-- 指定数据库方言 -->
           <property  name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
           <!-- 根据需要自动创建数据库 -->
           <property name="hbm2ddl.auto">update</property>
           <!-- 显示Hibernate持久化操作所生成的SQL -->
           <property name="show_sql">true</property>
           <!-- 将SQL脚本进行格式化后再输出 -->
           <property name="hibernate.format_sql">true</property>
           <!-- 罗列所有持久化类的类名 -->
           <mapping class="org.crazyit.app.domain.Category"/>
           <mapping class="org.crazyit.app.domain.Product"/>
     </session-factory>
</hibernate-configuration>

二 PO

Product

package org.crazyit.app.domain;

import javax.persistence.*;
import org.hibernate.annotations.FilterDefs;
import org.hibernate.annotations.FilterDef;
import org.hibernate.annotations.ParamDef;
import org.hibernate.annotations.Filter;
import org.hibernate.annotations.Filters;


import java.util.*;

@FilterDefs({
// 定义名为effectiveDate的过滤器,该过滤器支持1个date类型的参数
@FilterDef(name="effectiveDate"
    , parameters={@ParamDef(name="asOfDate" , type="date")}),
// 定义名为category的过滤器,该过滤器支持1个int类型的参数
@FilterDef(name="category"
    , parameters={@ParamDef(name="catId" , type="int")})
})
@Entity
@Table(name="product_inf")
// 使用effectiveDate过滤器对Product实体使用数据过滤
@Filter(name="effectiveDate"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值