关于ssh框架中的问题

charlesluo2012 2012-05-05 08:41:44
今天看一源码,service层有个方法是用来删除指定ID的书籍,他是这样写的。

public void deleteBook(String bookId) {
Books book=booksDao.getBook(bookId);
booksDao.deleteBook(book);
}


我就想问下,这个删除的方法,一定更要先把这本书查询出来再删除吗?能直接写成
booksDao.delteBook(String bookId)吗?

当然,booksDao中有根据ID删除书籍的这个方法。

如果按照我的写法,是不是如果数据库中不存在记录的话,删除会出问题?
...全文
103 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fw347969680 2012-05-06
  • 打赏
  • 举报
回复
booksDao.delteBook(String bookId),这样的话就没有用上Hibernate了,hibenrmate本来就是对象关系映射框架,所以对对象的操作会同步到数据库中。
sunny_zhang10 2012-05-06
  • 打赏
  • 举报
回复
对哦,你好像没有用到Hibernate 里面的东西了哦
licip 2012-05-06
  • 打赏
  • 举报
回复
它是对对象操作,所以要查一次,得出来对象然后,再删除。
似梦飞花 2012-05-06
  • 打赏
  • 举报
回复
应该可以啊 删除毕竟是根据主键删除的 只要能把删除所需要的信息发送到删除的方法里就可以了吧?
流狼 2012-05-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

hibernate对于数据库是进行面向对象的操作,也就是每次执行数据库时,处理的是一个对象,所以你首先需要查询出此对象,然后再将此对象删除。。。。。
[/Quote]
一语中的
ylovep 2012-05-06
  • 打赏
  • 举报
回复
这个到是没必要 但是删除必须指定一个id
要不就写成booksDao.delteBook(String bookId);

楼主的方法先查出来就省去了给书本指定id的操作了,hibernate会自动设置
ll894311655 2012-05-06
  • 打赏
  • 举报
回复
hibernate对于数据库是进行面向对象的操作,也就是每次执行数据库时,处理的是一个对象,所以你首先需要查询出此对象,然后再将此对象删除。。。。。
hllfl 2012-05-05
  • 打赏
  • 举报
回复
booksDao.delteBook(String bookId)吗?

你这个不是还是根据bookid又去查了一次么。可以是可以,最终删除的是对象

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧