gpt4 book ai didi

BlackBerry 持久对象/存储细微差别问题

转载 作者:行者123 更新时间:2023-12-04 06:56:21 24 4
gpt4 key购买 nike

我正在使用 PS 在我的应用程序中存储数据。我想我对 PS 的工作方式有误解。如果有人能告诉我如何制作它,以便我从 PS 检索到的账单是未加密的,而不是我最终得到的加密账单?注:本人原存储未加密账单!

据我所知,它认为两个账单和两个 PO 对象都是相同的对象!当我在 Eclispe 中查看它们的内存位置时, bill 和两个 PO 对象都具有相同的内存位置!我错过了什么?

谢谢!

    //create an unencrypted bill
BillDAO testBill = new BillDAO();

//store it in PS
PersistentObject po = PersistentStore.getPersistentObject(4);
po.setContents(testBill);
po.forceCommit();

//encrypt the bill
testBill.encrypt();

//retrieve it from PS using a different PO
PersistentObject po2 = PersistentStore.getPersistentObject(4);
BillDAO retrievedBill = (BillDAO) po2.getContents();

//and now for some reason my retrieved bill is encrypted!
//it should be unencrypted

最佳答案

这两个对象(在 PS 和 RAM 中)是链接的,因此对一个的更改反射(reflect)在另一个上。参见 Mike Kirkup 对 this thread 的回复在 BB 论坛上,特别是:

您应该只调用 setContents() 一次。这将在您第一次添加数据时发生。对于每个后续调用,您应该调用 getContents() 然后直接修改该对象。通过直接修改对象,您将在工作结束时调用 commit ,系统将正确提交您的更改......

另外,您可能想查看他对 key 生成的建议:)

希望这可以帮助!

关于BlackBerry 持久对象/存储细微差别问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2515082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com