hibernate对象的三种状态分别为: 瞬时态(transient),持久态(persistent),游离态(detached)
有关这三种状态的详细解释以及session的主要作用,hibernate官方给出了非常详细的解答,下面就是从官方文档中摘取的一段文字,自己进行了翻译。
The main function of the Session is to offer create, read and delete operations for instances of mapped entity classes.
Session的主要作用为映射的实体类的实例提供创建,读取和删除的业务操作。
Instances may exist in one of three states:
实例也许存在三种状态:
transient: never persistent, not associated with any Session
瞬时态:没有持久化,和任何Session都没有关联。
persistent: associated with a unique Session
持久态:和一个唯一Session有关联。
detached: previously persistent, not associated with any Session
游离态:预先持久态,没有和任何Session关联。
Transient instances may be made persistent by calling save(), persist() or saveOrUpdate().
瞬时态实例也许会被叫做save(),persist()或者saveOrUpdate()的方法所变成持久态对象。
Persistent instances may be made transient by calling delete().
持久态实例也许会被叫做delete()的方法变成瞬时态。
Any instance returned by a get() or load() method is persistent.
任何实力都会被get()或者load()方法变成持久态
Detached instances may be made persistent by calling update(),saveOrUpdate(), lock() or replicate().
游离态实例可能会被update(),saveOrUpdate(),lock()或者replicate()方法变成持久态。
The state of a transient or detached instance may also be made persistent as a new persistent instance by calling merge().
一个瞬时态或者游离态的实例也许也会被叫做merge()的方法变成一个新的持久态实例
感觉自己翻译的好蠢。。。。。