簡體   English   中英

hibernate / jpa如何存儲一個實體之間的關系

[英]hibernate/jpa how to store relation between one entity

我想將分層文件夾存儲在數據庫中。

@Entity
public class Folder {

int id
String name
Folder parentFolder

}

因此,如果Folder位於子文件夾中,則他應該存儲有關parentFolder的信息。如果Folder位於根目錄/頂層文件夾中,則它沒有任何parentFolder,因此將為null

我應該如何使用注釋設置休眠狀態以實現此目的?

我的實體類:

@Entity
@Table(name="common__Role")
public class Role {

/** The id. */
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long id;

/**
 * Parent Role id.
 */
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="ROLE_ID")
public Role role;

/** The name. */
@Constraints.Required
public String name;

這應該是您的實體..

@Entity
@Table("FOLDER")
public class Folder {

  @Id
  private long id;

  @Column(name="NAME")
  private String name;

  @ManyToOne(fetch=FetchType.LAZY,cascade = {CascadeType.PERSIST,CascadeType.MERGE })
  @JoinColumn(name="PARENT_ID")
  private Folder parentFolder;


  //Getter and Setter
}

也許您應該遵循本教程

如何堅持ManyToOne

Folder f= new Folder();
f.setName("name");

Folder fParent = entityManager.find(Folder .class, 1L);
f.setParent(fParent);

entityManager.persist(f);

另請參閱本教程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM