gpt4 book ai didi

java - hibernate/jpa如何存储一个实体之间的关系

转载 作者:行者123 更新时间:2023-11-30 03:44:09 26 4
gpt4 key购买 nike

我想在数据库中存储分层文件夹。F.e

@Entity
public class Folder {

int id
String name
Folder parentFolder

}

因此,如果文件夹位于子文件夹中,他应该存储有关父文件夹的信息如果文件夹位于根/顶级文件夹中,则它没有任何父文件夹,因此将为空

我应该如何使用注释设置 hibernate 来实现此目的?

我的实体类:

@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
}

也许你应该关注this tutorial

如何持久化ManyToOne

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

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

entityManager.persist(f);

另请参阅this tutorial

关于java - hibernate/jpa如何存储一个实体之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26157042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com