关于ssh框架中的问题
今天看一源码,service层有个方法是用来删除指定ID的书籍,他是这样写的。
Java code
public void deleteBook(String bookId) {
Books book=booksDao.getBook(bookId);
booksDao.deleteBook(book);
}
我就想问下,这个删除的方法,一定更要先把这本书查询出来再删除吗?能直接写成
booksDao.delteBook(String bookId)吗?
当然,booksDao中有根据ID删除书籍的这个方法。
如果按照我的写法,是不是如果数据库中不存在记录的话,删除会出问题?
------解决方案--------------------booksDao.delteBook(String bookId),这样的话就没有用上Hibernate了,hibenrmate本来就是对象关系映射框架,所以对对象的操作会同步到数据库中。
------解决方案--------------------hibernate对于数据库是进行面向对象的操作,也就是每次执行数据库时,处理的是一个对象,所以你首先需要查询出此对象,然后再将此对象删除。。。。。