目录与文章怎么关联啊

每一个用户有一个默认的目录
没有选择发布目录的都属于默认的目录
删除目录不删文章,都变成默认的目录的文章

OO怎么设计?需要OO吗


我是用appfuse刚开始学习开发一个多用户的的博客 , 仿用uchome里的一些功能
但是hibernate里的关联,联级操作不怎么理解
[该贴被cyckjp于2011-06-23 11:37修改过]

呃。。。你的描述有点复杂需求不少。

简单说起来在你描述的环境里,目录是文章的索引方式,而且可能会引出多对多的索引。

目录不包涵文章的操作方法。

一:每个注册的用户,都有一个博客
二:每一个博客都有一个默认的文章分类
三:用户可以为自个博客添加文章分类
四:默认的文章分类无法删除,自个添加的分类可以删,删分类不删文章,删分类后文章更新为默认的文章分类



// 在此输入java代码
public class Article{
private Long aid;
private Long title;
private Category category;
}

pubic class Category{
private Long cid;
private String cname;
}

如果这样引用,那么默认目录怎么办呢
关联后文章发布默认目录时,hibernate因为找不倒默认目录无法更新(默认目录不在数据库)
啊,真的需要OO么...
这种情况,文章与分类是多对多的关系,一篇文章可以加入多个分类中。
另外,默认的分类难道不可以在数据库表中配置吗,给它一个标识,指示它是否是默认的分类。
哦 可能我说的不清楚
文章是只可以发在一个目录中 就是many to one
删除这个文章的目录并不删除这个文章
但这个文章的目录需要更改成默认目录了

按楼上的那每个注册ID都需要分配一个默认目录

唉 需要关联会这么麻烦

不需要关联写的数据库操作又多
倒低怎么样才好

为什么会麻烦?数据库操作次数很多么?如果是必要的那就不要考虑了,必要的操作是省不了的。这些事情交给Hibernate去就好了,不用头痛。

这件事情本身(不考虑其他需求描述的情况下)就是象你叙述那么简单,你想的太多了。你叙述的本身已经描述对象关系了。

现在需要的是:你的问题在哪里?效率太低?响应速度慢?系统资源占用太高?对象模型不清楚?。。。。。??

请用最自然的想法,去理解类别和索引,这两者是不同的。
删掉目录时
cascade = { CascadeType. 怎么设都不行
都要删掉文章
所以只有


// 在此输入java代码
getHibernateTemplate().bulkUpdate(
"update Blog set category=null where category.id=? and user.id=?",cid, userId);
List l = getHibernateTemplate().find(
"from Category where id=? and userId=?", cid, userId);
if (l.size() > 0) {
getHibernateTemplate().deleteAll(l);
}

更新blog为默认目录..才删掉目录

[该贴被cyckjp于2011-06-24 23:43修改过]