[英]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.