欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java bitset 扩展_将java BitSet保存到DB

发布时间:2023/12/19 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java bitset 扩展_将java BitSet保存到DB 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

默认情况下,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的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。