Java bitset转string_将java BitSet保存到DB
默認(rèn)情況下,JPA使用Java序列化來(lái)保存未知Serializable類型的屬性(以便將序列化表示存儲(chǔ)為byte []).
通常它不是您想要的,因?yàn)榭梢杂懈行У姆绞絹?lái)表示您的數(shù)據(jù).例如,BitSet可以有效地表示為數(shù)字(如果它的大小有界),或者byte [],或其他東西(遺憾的是,BitSet不提供進(jìn)行這些轉(zhuǎn)換的方法,因此您需要手動(dòng)實(shí)現(xiàn)它們).
當(dāng)您確定要在數(shù)據(jù)庫(kù)中擁有哪些數(shù)據(jù)表示時(shí),您需要告知JPA應(yīng)用必要的轉(zhuǎn)換.有兩種選擇:
>在getter和setter中實(shí)現(xiàn)轉(zhuǎn)換.例如,如下:
@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
}
...
}
>使用特定于提供程序的擴(kuò)展來(lái)隱式執(zhí)行轉(zhuǎn)換(例如,在Hibernate中為custom types).此方法允許您在不同實(shí)體中重用類型轉(zhuǎn)換邏輯.
總結(jié)
以上是生活随笔為你收集整理的Java bitset转string_将java BitSet保存到DB的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php 情书,php趣味编程 - php
- 下一篇: java美元兑换,(Java实现) 美元