- 浏览: 39520 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lenomon:
可以看看这个demo, M2eclipse 设置 Mave ...
Maven学习笔记(二)——Eclipse插件安装(m2eclipse)
最近要用Hibernate做一个枚举类型的映射,在MySQL数据库中,hibernate的map文件中如果不配置枚举类型属性的type,那么hibernate会默认的将Enum类型映射为TinyBlob类型,这样就很尴尬了,似乎要多耗费很多的资源,去网上找了一下,有很多种解决办法
- 如果用的是annotation那么用@Enumerated(EnumType.STRING)直接可以映射为String类型
- 如果采用XML配置就没这么简单了,网上最多的方法是利用Hibernate提供的UserType但这样并不是最好的解决办法,还有一种更好的办法
发表评论
-
系统研究Java--容器(二)--使用Abstract类
2011-02-23 14:34 0这个示例在于演示通过继承java.util.Abstract来 ... -
Maven学习笔记(一)——安装与配置
2011-12-24 17:48 11101. 准备工作 操作系统 ... -
Maven学习笔记(二)——Eclipse插件安装(m2eclipse)
2011-12-24 19:06 1539如何安装Eclipse插件 关于如何安装Ecli ... -
Maven学习笔记(三)——坐标和依赖
2011-12-27 12:58 944参考书籍Maven实战:可在InfoQ的Minibook出下载 ... -
`nonmutating' is not defined (Ice)
2012-02-20 14:40 841说明出处:http://download.zeroc.com/ ... -
Java中的所有异常
2011-02-14 13:33 630原文地址:http://www.knowsky.com/540 ... -
Java中为什么实现了Serializable接口就具备了被序列化的能力以及serialVersionUID的作用
2011-02-14 13:38 706Java 规定的内部机制,实现 Serializable 接口 ... -
系统研究Java--容器(一)
2011-02-14 15:12 786如上图:java完整容器的结构图 个人觉得j ... -
Java中的volatile关键字
2011-02-18 10:09 651我们知道,在Java中设 ... -
系统研究Java--数组(一)
2011-02-22 15:55 646数组不可越界,如果越界将会得到一个表示程序错误的Runtim ... -
Java反射经典实例 Java Reflection Cookbook (初级)
2011-02-23 13:09 363原文地址:http://www.blogjava.net/ji ... -
系统研究Java--容器(二)--使用Abstract类
2011-02-23 14:34 625这个示例在于演示通过继承java.util.Abstract来 ... -
系统研究Java--容器(三)--Collection
2011-02-23 15:36 610<!-- ========== METHOD SUMMA ... -
系统研究Java--容器(五)--部分容器的底层实现
2011-02-23 16:28 850List和存储顺序 从List接口展开的实现类有ArrayL ... -
系统研究Java--容器(四)--Map和Set
2011-02-23 17:59 636Map是Java容器的又一长老 ... -
系统研究Java--容器(六)--Collections工具类
2011-03-01 14:36 809<!-- ========== METHOD SUMMA ... -
系统研究Java--I/O(一)
2011-03-03 16:14 603先占个位置,来两个图 -
abstract class 与 interface 的区别
2011-03-07 11:43 710对于abstract class 和 interf ... -
Java几种常用关键字总结
2011-03-25 11:00 6731.abstract abstract关键字可以用来修 ... -
一个简单的验证码生成工具--servlet版本
2011-05-13 21:20 691需要用到servlet-api.jar package co ...
相关推荐
Hibernate通过`@Enumerated`和`@Type`注解为枚举类型提供了灵活的映射机制,允许开发者根据项目需求选择合适的方式。正确地映射枚举类型可以增强代码的可读性和可维护性,同时减少因数据类型转换导致的潜在错误。在...
`@Temporal` 注解接受 `DATE`, `TIME`, `TIMESTAMP` 这三个枚举值,分别映射到 `java.sql.Date`, `java.sql.Time`, `java.sql.Timestamp` 类型。 #### 七、大对象的持久化 对于大对象(如文本、图像等),可以使用...
8. **@Enumerated**:用于枚举类型的映射,EnumType.STRING将枚举值存储为字符串。例如: ```java @Enumerated(EnumType.STRING) private Starred getNote() { ... } ``` 9. **@Lob**:用于大对象(BLOB或CLOB...
此外,`@Enumerated`注解用于将枚举类型存储为字符串或整数: ```java @Enumerated(EnumType.STRING) Starred getNote() { ... } // enum persisted as String in database ``` 总的来说,Hibernate注解使得Java...
一旦某个类被标记为此注解,Hibernate就会将其映射为数据库中的表。 - **`@Id`**:该注解用于指定实体Bean的主键字段。主键字段通常是用来唯一标识数据库表中每一行记录的字段。 在Hibernate中,可以通过注解的方式...
9. **@Enumerated**:用于枚举类型,EnumType.STRING将枚举值保存为字符串。例如: ```java @Enumerated(EnumType.STRING) private Starred note; ``` 10. **@OneToMany, @ManyToOne, @OneToOne, @ManyToMany**:...
- 使用`@Enumerated(EnumType.STRING)`将枚举类型持久化为字符串。例如: ```java @Enumerated(EnumType.STRING) Starred getNote() { ... } // 枚举持久化为字符串 ``` 9. **大对象(LOB)类型** - `@Lob`...
Hibernate 支持三种类型的继承映射策略: - **Table per Class Strategy**(每个类一张表): `<union-class>` 元素在Hibernate中使用。每个子类拥有自己单独的表。 - **Single Table per Class Hierarchy Strategy**...
这里,`@Enumerated(EnumType.STRING)`将枚举值作为字符串存储在数据库中。 #### 大对象的处理 对于大文本或二进制数据,Hibernate提供了`@Lob`注解,该注解可以将属性映射为BLOB(Binary Large Object)或CLOB...
`@ElementCollection`表示这是一个多值属性,而`@Enumerated(EnumType.STRING)`则指示Hibernate应该将枚举值存储为字符串。 在个人项目中,使用`SET`类型可以帮助你有效地管理有限集合的数据,提高数据的一致性和...
- **用途**:用于处理枚举类型数据,将其持久化为字符串或整数。 - **示例**: ```java public enum Status { ACTIVE, INACTIVE } @Entity public class User implements Serializable { @Enumerated(Enum...
- 数据库映射,如Hibernate的`@Entity`, `@Table`, `@Column`等。 ### 8. 总结 自定义注解是Java中强大的工具,它增强了代码的可读性,简化了复杂逻辑,并为自动化处理提供了途径。了解并熟练运用自定义注解能提高...
- **枚举(Enum)**:提供了一种定义固定常量集的方式。 - **注解(Annotation)**:为元数据提供了一种标准化的标记方式,可用于自动生成文档或进行编译时验证。 #### J2EE与Web开发框架 随着业务需求的增长,Java...
- 数据类型:Java有两类数据类型:基本类型(如int、double、boolean)和引用类型(类、接口、数组)。 - 控制结构:包括条件语句(if、switch)、循环(for、while、do-while)以及跳转语句(break、continue)。...
- **switch操控符**:用于多条件选择,支持int、char、enum以及字符串作为参数。 - **静态变量**:在整个程序运行期间都存在,属于类而非对象。 - **最终变量**(final):一旦赋值后不能更改,可以保证数据的不可...