是否有必要使用Hibernate保存实体的各个项目?

问题描述 投票:0回答:1

我正在学习hibernate并且知道它是一个ORM工具。

Consider this scenario:

@Entity
@Table(name="USER_DETAILS")
public class UserInfo {

    @ElementCollection
    Set<Address> addressList = new HashSet<Address>();

    // Some other code...
}

Main application:

public class MainApp {

     public static void main(String s[]) {

         SessionFactory sf = null;
         sf = new Configuration().configure().buildSessionFactory(); // This will read the hibernate.cfg.xml file

          // We can save using session.save(object)
     }
}

从代码中可以看出,我们在addressList实体中有一个UserInfo(Collection)。

My question is:

当我们保存实体时,embedded object会自动保存为实体的一部分还是我们需要专门保存collection object

java hibernate
1个回答
0
投票
  1. cascade =“none”,默认情况下,告诉Hibernate忽略关联。
  2. cascade =“save-update”告诉Hibernate在提交事务时以及将对象传递给save()或update()并保存新实例化的瞬态实例并将更改保留到分离的实例时导航关联。
  3. cascade =“delete”告诉Hibernate在将对象传递给delete()时导航关联并删除持久化实例。
  4. cascade =“all”表示级联save-update和delete,以及对evict和lock的调用。
  5. cascade =“all-delete-orphan”表示与cascade =“all”相同,但此外,Hibernate删除已从关联中删除(解除引用)的任何持久性实体实例(例如,从集合中删除)。
  6. cascade =“delete-orphan”Hibernate将删除已从关联中删除(解除引用)的任何持久性实体实例(例如,从集合中删除)。
© www.soinside.com 2019 - 2024. All rights reserved.