|
|
Browse by Tags
All Tags » db4o qq群 (RSS)
-
谢谢各位的指点,现在写一个小的订单系统。
对ObjectContainer更进一步了解,分享下笔记:
1. case: Order一属性productMap<product,count>存放Product的引用和,购买的数量。2. bookin order时,导致product重复存放;
3. 经过explorer test,发现必须在一个ObjectContainer中,才能避免Product重复存放。4. 即: ObjectContainer是一个事务的基础,你前一个ObjectContainer取出的对象,在下一个Objectainer认为是新的了!!!
5. 所以ObjectContainer使用总结: a. ...
-
实现一个小项目-- 拼餐计费系统
经历了近3周的反复,由于一开始,对象间更新关联关于复杂,导致set时对象重复存放。究其原因是,对象的关系设计混乱,set时犹如一大串珠子,没有抓住主线。
总结一下:
1. 时刻注意内存中的对象和数据库中的对象是否保持一致。
2. 对象间引用不要过多,避免环状引用。这点在初次设计class时,时常犯的错误,一直想这样关联起来才方便。其实对象间关系越简单越好。
3. 注意对象的List集合属性,在存储是,如果没有自动存入,不妨试试专门对此属性进行set,毕竟List也是个对象?? 我目前是这样解决的。
-
package com.glt.table.db4oUtil;
import java.util.LinkedList;
import org.apache.log4j.Logger;
import com.db4o.Db4o;import com.db4o.ObjectContainer;import com.db4o.ObjectServer;import com.db4o.config.Configuration;
/** * 必须实现connection pool,因为在web应用中,servlet必定是多线程的。 * 1. 支持多客户端; * 2. 事务必须手工commit; * 3. ...
-
大家好,我在学习使用db4o做一个餐费管理小系统时,当new Purchase,new Meal后,导致Diner,Account出现重复储存的问题,请兄弟姐妹指教。共有5个class:其中使用了List集合类(这个可能是导致问题的主要原因,db4o说Collection作为一个新的对象???)测试程序使用Meal做入口,new Meal,new Purchase只保存db.set(Meal);Meal(purchaseList)---Purchase---Diner----Account----Desposit.其中Account的purchaseList又包含Purchase。 形成一个对象环状引用。测试时,先new Diner,new Account;第一轮测试 ...
-
QQ群:37731583
专门讨论数据库技术(db4o).
欢迎使用db4o产品进行.net应用朋友一起讨论交流.
|
|
|