hibernate 持久化一个对象如何判断是否成功

2025-06-28 03:53:47
推荐回答(3个)
回答1:

hibernate是一种ORM(object relation mapping,对象关系映射)框架,所谓的对象关系映射,通俗的说,就是把JAVA对象保存到关系型数据库中。

hibernate要做的事,就是让对象投影到关系数据库中,然后实施持久化。其具体实现:
建立对象到关系数据库的映射。
example:建立User类到数据库的映射
一个简单的类User:
public class User{
private int id;
private String name;
}

User类对应的数据库表USER:
column-name type rule
id number P
name varchar2 R

当进行持久化时,需要把对象的两个属性的值保存到数据库存的USER中,如果使用JDBC的话,我们需要自己写SQL,并获取对象两个属性的值作为参数来进行持久话。SQL可能如下:
insert into USER(name) value(?);

当使用hibernate时,首无要作好对象到表的映射关系,使用配置文件来实现:
User.hbm.xml:
...






...

然后在通过hibernate.cfg.xml中配置到数据库的联接,并读取User.hbm.xml文件,就建立了映射关系了。

当需要持久化对象时,需要使用到hibernate的session对象:
session.save(new User());
看到了吗?我们只需要操作对象就行了,也就是说,编程的人不需要看到数据库了,他只需要直接操作对象就行了。

hibernate 如何实现持久化?
答:
1.hibernate是一种ORM(object relation mapping,对象关系映射)框架,所谓的对象关系映射,通俗的说,就是把JAVA对象保存到关系型数据库中,即进行持久化的框架。

2.hibernate进行持久化首先要建立对象到关系数据库的映射。

3.hibernate根据定义的映射规则将对象持久化(保存到)数据库存中。这就实现了对象持久化。

回答2:

不用判断,在事务之间,用session 查询的都是持久化对象,
不过好像有方法移除和加入持久化吧

回答3:

方法加返回类型boolean,
可以在事物commit()的地方加try/catch,不出异常就是成功。
try{
...............
tx.commit();
return true;
}
catch(exception e){
return false;
}