最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jsp Hibernate入門教程第3/3頁

 更新時間:2008年11月14日 23:08:55   作者:  
如果您是在同一個Session中取出數(shù)據(jù)并想要馬上進行更新,則只要先查詢并取出對象,透過setXXX()方法設定好新的值,然后呼叫session.flush()即可在同一個Session中更新指定的數(shù)據(jù)

 Hibernate提供了一個saveOrUpdate()方法,為數(shù)據(jù)的儲存或更新提供了一個統(tǒng)一的操作接口,藉由定義映像文件時,設定<id>標簽的unsaved-value來決定什么是新的值必需,什么是已有的值必須更新:
User.hbm.xml
復制代碼 代碼如下:

<id name="id" type="string" unsaved-value="null">
<column name="user_id" sql-type="char(32)" />
<generator class="uuid.hex"/>
</id>

unsaved-value
可以設定的值包括:
any - 總是儲存
none - 總是更新
null - id為null時儲存(預設)
valid - id為null或是指定值時儲存
 這樣設定之后,您可以使用session.saveOrUpdate(updated);來取代上一個程序的session.update(updated);方法。
 如果要刪除數(shù)據(jù),只要使用delete()方法即可,直接看個例子。
復制代碼 代碼如下:

HibernateTest.java
import onlyfun.caterpillar.*;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
import java.util.*;
public class HibernateTest {
public static void main(String[] args) throws HibernateException {
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
List users = session.find("from User");
User updated = null;
for (ListIterator iterator = users.listIterator(); iterator.hasNext(); ) {
User user = (User) iterator.next();
if(updated == null)
updated = user;
System.out.println(user.getName() +
"\n\tAge: " + user.getAge() +
"\n\tSex: " + user.getSex());
}
session.delete(updated);
users = session.find("from User");
session.close();
sessionFactory.close();
for (ListIterator iterator = users.listIterator(); iterator.hasNext(); ) {
User user = (User) iterator.next();
System.out.println(user.getName() +
"\n\tAge: " + user.getAge() +
"\n\tSex: " + user.getSex());
}
}
}

 一個執(zhí)行的結果范例如下:
log4j:WARN No appenders could be found for logger (net.sf.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Hibernate: select user0_.user_id as user_id, user0_.name as name, user0_.sex as sex, user0_.age as age from USER user0_
justin
Age: 28
Sex: M
momor
Age: 25
Sex: F
Bush
Age: 25
Sex: M
Becky
Age: 35
Sex: F
Hibernate: delete from USER where user_id=?
Hibernate: select user0_.user_id as user_id, user0_.name as name, user0_.sex as sex, user0_.age as age from USER user0_
momor
Age: 25
Sex: F
Bush
Age: 25
Sex: M
Becky
Age: 35
Sex: F
 Hibernate對于數(shù)據(jù)的更新、刪除等動作,是依懶id值來判定,如果您已知id值,則可以使用load()方法來加載資料,例如:
User user = (User) session.load(User.class, id);
 更多有關于Hibernate資料更新操作的說明,您可以看看參考手冊的第九章內(nèi)容。

相關文章

最新評論

阜城县| 玉树县| 霍山县| 平罗县| 辽阳市| 顺平县| 潼关县| 托克逊县| 苏尼特右旗| 碌曲县| 湾仔区| 洪雅县| 瑞昌市| 米林县| 郎溪县| 普格县| 贡嘎县| 宁城县| 枣阳市| 高要市| 丹巴县| 山丹县| 灵寿县| 包头市| 凉城县| 综艺| 公主岭市| 工布江达县| 塔河县| 鄯善县| 永寿县| 台北市| 清远市| 汝城县| 荆门市| 尉氏县| 延吉市| 定南县| 原阳县| 彭水| 武定县|