hibernate处理数据库中text类型

来源:互联网 发布:hadoop处理100万数据 编辑:程序博客网 时间:2024/06/15 17:59

hibernate默认不支持text类型的,所以要修改方言源代码

<span style="font-family:KaiTi_GB2312;font-size:18px;"><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource"><ref bean="dataSource" /></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">   my.util.MyDialect<!--  org.hibernate.dialect.MySQLDialect--></prop><prop key="hibernate.show_sql">${jdbc.show_sql}</prop><prop key="hibernate.format_sql">true</prop><!-- 批处理 --><prop key="hibernate.jdbc.batch_size">5</prop><!-- 开启缓存 --><prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop><prop key="cache.use_second_level_cache">true</prop></props></property><property name="mappingResources"><list><value>my/models/business/common/OvertimeDetail.hbm.xml</value>  <value>my/models/business/common/WorkOvertime.hbm.xml</value></list> </property></bean></span>
<span style="font-family:KaiTi_GB2312;font-size:18px;">package my.util;import java.sql.Types;import org.hibernate.Hibernate;import org.hibernate.dialect.MySQL5Dialect;import org.hibernate.dialect.function.SQLFunctionTemplate;public class MyDialect extends MySQL5Dialect {            public MyDialect(){          super();          registerHibernateType(Types.LONGVARCHAR, Hibernate.TEXT.getName());        registerFunction("convert", new SQLFunctionTemplate(Hibernate.STRING, "convert(?1 using gbk)"));      }      @Override      public String getTableTypeString() {          return "engine=MyISAM";      }  }  </span>



0 0
原创粉丝点击