UserType中其他方法不用多说,主要说明下面两个方法
/**
* 负责将数据库中的数据解析为PO中对应属性的值
* PreparedStatement st:将存储到数据库中的数据集
* Object value:该属性的值。
*
int index:不太清除具体作用。目前是直接使用
*/
public void nullSafeSet(PreparedStatement st, Object value, int index)
throws HibernateException, SQLException
{
如果是
把Object转为String存储,则使用Hibernate提供的方法
String str = assemble((该Field的类型) value);
Hibernate.STRING.nullSafeSet(st, str, index);
但如果想
把Object转为Blob存储
// 自己负责将Object转为byte[],这里用String举例
byte[] bytes = string.getBytes();
st.setBytes(index, bytes);
}
/**
* 负责将数据库中的数据解析为PO中对应属性的值
* ResultSet rs:数据库中得到的数据结果集
* String names[]:列名。一般只用到names[0]
*
Object owner:未使用到。待更新
*/
public Object nullSafeGet(ResultSet rs, String names[], Object owner)
throws HibernateException, SQLException
{
如果是
把Object转为String存储,则使用Hibernate提供的方法
String value = (String) Hibernate.STRING.nullSafeGet(rs, names[0]);
如果
把Object转为Blob存储,则使用
SessionImplementor sim = (SessionImplementor)session;
Hibernate.BLOB.nullSafeGet(rs, names, sim, owner);
不知道SessionImplementor 如何赋值时的解决办法:
根据属性名称直接获取对应的Blob值
String value = names[0];
Blob blobs = rs.getBlob(value);
}
分享到:
相关推荐
- **使用org.hibernate.usertype.UserType**: 实现自定义用户类型。 - **使用org.hibernate.usertype.CompositeUserType**: 映射复合类型。 - **类型注册**: 注册自定义类型。 #### 7. 集合映射 - **持久化集合*...
在 Hibernate 框架中,使用自定义类型映射 Oracle 中的 LONG 类型字段是一种常见的解决方案。通过实现 UserType 接口,我们可以定制 LONG 类型字段的读写操作。在本例中,我们定义了一个名为 CustomLong 的类,该类...
4. **dom4j.jar**:这是一个XML处理库,Hibernate使用它来解析和操作XML配置文件。 5. **jadira.usertype.core.jar**:这个库主要用于处理日期和时间类型的映射,尤其是Joda-Time和Java 8的日期/时间API。 6. **...
- 如果使用的是HBM(Hibernate Mapping)文件,需要在对应字段上配置`type`属性,指向自定义的`UserType`全限定类名。 通过以上步骤,你可以确保Hibernate在处理MySQL的`TEXT`字段时能够正确地进行序列化、反序列...
- `TYPE`:自定义类型映射,需要实现`org.hibernate.usertype.UserType`接口,可以自定义存储和读取的逻辑。 2. **配置枚举类型映射**: 在Hibernate的映射文件(.hbm.xml)中,可以使用`<typedef>`元素定义枚举...
Hibernate 是一个强大的 Java 持久化框架,它简化了数据库与对象之间的交互。通过提供一组丰富的API,Hibernate使得开发者能够在应用中轻松地管理和操作数据库数据。...理解并熟练使用这些接口是掌握Hibernate的关键。
本文将深入探讨如何使用Hibernate实现领域对象的自定义字段,这涉及到对Hibernate核心概念的理解以及自定义类型的应用。 首先,我们需要了解Hibernate的核心概念。Hibernate主要通过配置文件(hibernate.cfg.xml)...
Hibernate使用注解或XML映射文件来实现这一功能。对于注解方式,例如我们有一个User类,其中有个字段`username`,我们可以在字段上添加`@Column`注解: ```java public class User { @Id @GeneratedValue...
【J2EE企业级项目开发-1期 04 Hibernate使用经验】 在J2EE企业级项目开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,被广泛用于简化数据库操作。以下是一些关于Hibernate使用的重要经验和技巧: 1. **...
VC开发工具使用技巧源代码_usertype.zipVC开发工具使用技巧源代码_usertype.zipVC开发工具使用技巧源代码_usertype.zipVC开发工具使用技巧源代码_usertype.zipVC开发工具使用技巧源代码_usertype.zip
我们在 Hibernate 应用中使用最广泛的接口,也被称为持久化管理器,提供了相关的数据库操作,比如添、更、删、加、查等基本操作。特点:非线程安全,轻量级,其创建及销毁消耗资源少。每个客户请求对应一个 Session...
使用自定义类型时,你需要在实体类的属性上使用`@Type`注解,指定自定义类型的实现类,使得Hibernate在操作这些属性时能够调用我们定义的转换逻辑。 例如,如果你有一个自定义日期时间类型,可以这样使用: ```java...
11.1.5 使用Hibernate内置映射类型 11.2 客户化映射类型 11.2.1 用客户化映射类型取代Hibernate组件 11.2.2 用UserType映射枚举类型 11.2.3 实现CompositeUserType接口 11.2.4 运行本节范例程序 11.3 ...
当需要持久化某些来自第三方库的Java类型时,如果这些类型没有提供适当的getter和setter方法,可以考虑实现`org.hibernate.UserType`接口来定义自定义类型。这样可以在不修改原有类的情况下完成持久化任务。 #### ...
**hibernate 帮助文档**是学习和使用Hibernate框架的关键资源,其中包含了详尽的API参考、示例代码和教程。通过这份文档,开发者可以了解到如何配置Hibernate,如何创建和管理实体类,以及如何执行CRUD(创建、读取...
2.2.2 使用Hibernate EntityManager 2.2.3 引入EJB组件 2.2.4 切换到Hibernate接口 2.3 反向工程遗留数据库 2.3.1 创建数据库配置 2.3.2 定制反向工程 2.3.3 生成Java源代码 2.4 与...
这通常通过实现`org.hibernate.usertype.UserType`接口来完成,该接口定义了将Java类型转换为数据库类型的逻辑。 以下是一些关键步骤: 1. **创建动态扩展的基类**:定义一个基类,它继承自Hibernate的`...
《Hibernate3中文手册》是Java开发领域中关于对象关系映射框架Hibernate的重要参考资料,它详尽地阐述了Hibernate3的使用方法和核心概念。Hibernate是一个开放源代码的对象关系映射框架,它允许开发者将数据库操作与...
- **自定义类型使用org.hibernate.usertype.UserType** - **自定义类型使用org.hibernate.usertype.CompositeUserType** **6.5 类型注册表**:说明了如何注册自定义类型。 #### 7. 集合的映射 - **持久集合**:...
- **自定义数据类型**:通过实现 `org.hibernate.usertype.UserType` 接口来自定义数据类型。 通过以上内容的学习,可以全面理解 Hibernate 的基本原理和使用方法,掌握其核心概念和技术要点,从而能够有效地利用 ...