默认情况下,JPA使用Java序列化来保存未知Serializable类型的属性(以便将序列化表示存储为byte []).

通常它不是您想要的,因为可以有更有效的方式来表示您的数据.例如,BitSet可以有效地表示为数字(如果它的大小有界),或者byte [],或其他东西(遗憾的是,BitSet不提供进行这些转换的方法,因此您需要手动实现它们).

当您确定要在数据库中拥有哪些数据表示时,您需要告知JPA应用必要的转换.有两种选择:

>在getter和setter中实现转换.例如,如下:

@Entity

@Table(name = "myTable")

@Access(AccessType.FIELD)

public class MyClass {

...

@Transient // Do not store this field

protected BitSet tags;

@Access(AccessType.PROPERTY) // Store the property instead

@Column(name = "Tags")

byte[] getTagsInDbRepresentation() {

... // Do conversion

}

void setTagsInDbRepresentation(byte[] data) {

... // Do conversion

}

...

}

>使用特定于提供程序的扩展来隐式执行转换(例如,在Hibernate中为custom types).此方法允许您在不同实体中重用类型转换逻辑.

java bitset 扩展_将java BitSet保存到DB相关推荐

  1. java剪切txt文件_用Java把剪切板的内容实时保存到txt

    test类:提示用户程序已启动,提示保存位置,清空剪切板. package com.ariya.service; import com.ariya.service.impl.ClipboardServ ...

  2. java核心教程_核心Java教程

    java核心教程 Welcome to Core Java Tutorial. I have written a lot on Core Java and Java EE frameworks. Th ...

  3. java俄罗斯方块程序_使用JAVA编写的俄罗斯方块程序, 具有非常全面的功能.

    Lastsong-Tetris 使用JAVA编写的俄罗斯方块程序, 具有非常全面的功能. 游戏基本规则: 1.打开游戏窗口后, 点击开始按钮进行游戏; 2.每消一行就会增加10分和1消行数,当分数累计 ...

  4. java武功秘籍_请问java全套内容都有什么呢?

    我整理的Java全套内容学习路线,分为6个阶段(大阶段)第一阶段:java内功心法篇 第二阶段:Java武功秘籍(经典框架) 第三阶段:Java高级功法(主流框架) 第四阶段:Java成神之路 第五阶 ...

  5. java web源代码_检测Java Web应用程序而无需修改其源代码

    java web源代码 与其他系统进行交互时,大多数Java Web应用程序都使用标准Java接口. 诸如Web页面或REST服务器之类的基于HTTP的服务是使用接口javax.servlet.Ser ...

  6. java高级教程_高级Java教程

    java高级教程 课程大纲 学习Java基础很容易. 但是,真正钻研该语言并研究其更高级的概念和细微差别将使您成为一名出色的Java开发人员. 网络上充斥着"软","便宜 ...

  7. java queue使用_使用Java使用Amazon Simple Queue Service

    java queue使用 Amazon Simple Queue Service或SQS是Amazon Webservice堆栈提供的高度可扩展的托管消息队列. Amazon SQS可用于完全解耦系统 ...

  8. java web服务_将Java服务公开为Web服务

    java web服务 本教程解决了开发人员面临的最实际的情况. 大多数时候,我们可能需要将某些现有服务公开为Web服务. 在项目生命周期的不同阶段可能会遇到这种情况. 如果这是初始阶段,那么您几乎是安 ...

  9. java正则表达式 匹配()_学习Java正则表达式(匹配、替换、查找)

    import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...

最新文章

  1. Centos7常用命令
  2. python for-Python for windows官方版
  3. Hbase的应用场景、原理及架构分析(转:https://blog.csdn.net/xiangxizhishi/article/details/75388971)
  4. 工厂方法模式适用场景
  5. 前端优化中使用base64的优缺点
  6. SAP Spartacus Translation (翻译) 相关话题
  7. C++总结笔记(八)—— 菱形继承
  8. Docker 实战笔记
  9. java小数左右移_Java将小数位移至两倍
  10. 阻塞IO, 非阻塞IO, 同步IO,异步IO
  11. 【多线程】 Future Callable 使用(线程池线程执行完,执行主线程)
  12. excel表格怎么关闭函数计算机,excel表格的数据如何去掉公式-如何取消Excel表格里面的函数公式...
  13. Saas与Paas、Laas服务模式了解
  14. 4.2.4 Kafka高级特性解析(物理存储、稳定性:事物,控制器,可靠性,一致性,_consumer_offsets、延时队列、自定义重试队列)
  15. 现代检测技术课程实验编程:最小二乘法应用编程
  16. LVM管理体系(二)通过扩展LV扩展逻辑卷(操作步骤)
  17. 2020-319 几种分类器评估与调优方法手写整理 37互娱笔试题
  18. linux飞信机器人,linux飞信机器人的安装fetion
  19. 最新织梦CMS程序 小黑屋QQ技术导航新增手机版源码分享
  20. Bouncy Castle 的 ASN1 使用方法

热门文章

  1. GM6 1.38.1 start up debug - share memory
  2. why our extension project didn't load S3 view and controller
  3. 阮一峰react demo代码研究的学习笔记 - demo7 debug - create ref element
  4. filter operation implementation in Gateway framework
  5. 使用dom breakpoint找到修改属性的javascript代码
  6. IBASE business knowledge from Gerhard
  7. 使用SAP ABAP 事物码 ST12 研究 SAP CRM 产品搜索的性能 - product search性能
  8. SAP CRM里note界面默认语言的决定逻辑
  9. SAP成都研究院马洪波:提升学习力,增强竞争力,收获一生乐趣
  10. 网站打开速度多少毫秒为正常_个人做shopify-怎么测试和优化网站打开速度