我们数据库设计一般是使用varchar(2024),一旦定好长度,这个字段默认就占用了这么多空间,为了节约数据库空间,我决定使用TEXT类型来保持数据,悲剧发生了,Hibernate不支持映射TEXT类型?
去网上翻了翻,好多人遇到这个问题,so决定记录下
我们只要继承hibernate的MySQL5InnoDBDialect类,我这MYSql用的是InnoDB,所以直接继承他了
上菜:
view sourceprint?1 public class MYSQLDialect extends MySQL5InnoDBDialect {
2 public MYSQLDialect() {
3 super();
4 registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());
5 registerHibernateType(Types.LONGVARCHAR, Hibernate.TEXT.getName());
6 registerFunction("group_concat", new StandardSQLFunction("group_concat", Hibernate.STRING));
7 }
8 }
然后我们修改下我们的hibernate配置文件或者是Spring的配置文件
view sourceprint?1 <prop key="hibernate.dialect">org.richin.support.orm.hibernate.MYSQLDialect</prop>
然后我们直接可以通过java的String类型来映射TEXT字段就OK了
分享到:
相关推荐
为了解决这个问题,我们需要自定义或者扩展Hibernate的方言类,让其知道如何处理`TEXT`字段。`MYSQLDialect.java`就是这样一个类,它通常位于Hibernate的源码库中,负责定义MySQL数据库特有的SQL语法和特性。在...
此外,Hibernate还支持自定义数据类型的映射,允许开发者根据需求扩展和定制。 在实际开发中,理解这些映射关系至关重要,因为它直接影响到数据的存储和查询效率,以及数据的一致性和完整性。例如,如果错误地将...
在创建MySQL数据库时,应选择`utf8`或`utf8mb4`(对于支持Unicode扩展字符集的现代项目)作为默认字符集。同时,确保表和字段也使用UTF-8。 6. **编译IDE** - MyEclipse 5.0 MyEclipse作为集成开发环境,需要设置...
它是Hibernate的一个插件,提供了对空间数据类型的支持,使得我们可以将geometry对象无缝地存入支持空间数据的数据库,如PostGIS(基于PostgreSQL的扩展)或MySQL的Spatial扩展。 首先,要使用Hibernate Spatial,...
6. **JSON支持**:虽然在MySQL 5.7中引入了完整的JSON数据类型,但在5.6版本中已经开始了对JSON的支持,可以通过BLOB或TEXT类型存储JSON格式的数据。 对于Java开发者来说,使用MySQL 5.6.12 进行数据库操作通常会...
根据提供的信息,我们可以深入探讨如何使用SSH(Struts2 + Spring + Hibernate)和MySQL来构建一个框架的基础架构。本文将详细介绍整个过程中的关键步骤和技术细节。 ### 一、概述 SSH框架是Java Web开发中非常...
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/news <property name="hibernate.connection.username">your_username <property name="hibernate.connection.password">your_password ...
TfileDAOHibernate通过扩展Spring提供的Hibernate支持类HibernateDaoSupport而建立,HibernateDaoSupport封装了HibernateTemplate,而HibernateTemplate封装了Hibernate所提供几乎所有的的数据操作方法,如execute...
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect </hibernate-configuration> ``` ##### 3.4 创建Spring配置文件applicationContext.xml 在项目的`src/main/resources`目录下创建`...
### Struts2.1 + Spring3.0 + Hibernate3.3 整合示例解析 #### 一、项目概述 本篇文章将详细解读一个基于Struts2.1、Spring3.0以及Hibernate3.3的整合项目案例。该案例不仅展示了如何搭建这样一个集成环境,还特别...
它还支持多种数据库类型,包括MySQL、Oracle、PostgreSQL等,并且与流行的Java框架如Spring、Hibernate等有良好的集成。对于需要高性能、高可用性和可扩展性的企业级应用来说,Druid是一个理想的选择。 将...
下载 MySQL 社区版并配置相应的 JDBC 驱动和 Hibernate 支持。 2. **创建 Grails 应用** - 使用 Grails 的 `create-app` 命令创建一个新的应用目录,例如 `web`。这将自动生成应用的基础结构,包括领域类、控制器...
支持XML(Extensive Markup Language,扩展标记语言) 2.强大的基于Web的分析 3.支持OLE DB和多种查询 4.支持分布式的分区视图 安装、运行SQL Server 2000的硬件需求 (1)计算机 Inter及其兼容...
然而,随着项目复杂度的增加,建议采用更高级的设计模式,如MVC(Model-View-Controller),以及ORM(Object-Relational Mapping)框架,如Hibernate等,以提高代码的可维护性和扩展性。此外,还应关注安全性问题,...
它提供了强大的功能集,能够支持各种Java EE技术栈的应用开发,包括但不限于Servlets、JSP、EJB、JMS、Spring框架、Hibernate框架等。 - **特点**: - 集成的开发环境:MyEclipse集成了Eclipse的核心功能,并在此...
### SSH(Struts2, Spring, Hibernate)三大框架集成详解 #### 一、概述 SSH框架,即Struts2、Spring以及Hibernate三个框架的集成,是Java Web开发中非常流行的一种解决方案。它结合了MVC架构的优势,通过Struts2...
10. **文件上传**:在Struts2中,File类型的变量upfile用于存储上传文件内容,String类型的变量upfileContentType和upfileFileName分别表示文件类型和文件名。 11. **拦截器**:Struts2的defaultStack拦截器栈定义...
3. **Hibernate**:是一个对象关系映射工具,用于在Java对象和数据库表之间建立映射关系,简化了数据库操作的复杂性。 #### 三、SSH整合步骤 ##### 1. 附加数据库到SSH模板项目 - 在项目的`src/main/resources`...