2.5.6 Spring Boot (无法挂载版本)
Profil.java
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@FieldDefaults(level = AccessLevel.PRIVATE)
@Table(name = "t_profil")
public class Profil {
...
...
@ManyToMany(cascade = {
CascadeType.PERSIST,
CascadeType.MERGE
}, fetch = FetchType.LAZY)
@JoinTable(
name = "t_profils_fonctionnalites",
joinColumns = { @JoinColumn(name = "profil_id") },
inverseJoinColumns = { @JoinColumn(name = "fonctionnalite_id") }
)
public Set<Fonctionnalite> fonctionnalites = new HashSet();
}
Fonctionnalite.java
@jakarta.persistence.Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@FieldDefaults(level = AccessLevel.PRIVATE)
@Table(name = "t_fonctionnalite")
public class Fonctionnalite {
...
...
@ManyToMany(mappedBy = "fonctionnalites", fetch = FetchType.LAZY)
private Set<Profil> profils = new HashSet();
我启动项目,创建了中间表:“t_profils_fonctionnalites”我将数据插入此表:
profil fonctionnalite
1 1
1 2
2 1
控制器
...
...
return new ResponseEntity<>(profilDao.findAll(), HttpStatus.OK);
我得到的数据是:
[
{
"id": 1,
"code": "CODEP1",
"label": "defaut",
"description": "defaut description1",
"fonctionnalites": []
},
{
"id": 2,
"code": "CODEP2",
"label": "label2",
"description": "description2",
"fonctionnalites": []
},
“功能”:是空!为什么?
1条答案
按热度按时间dxxyhpgq1#
你的代码不完整,但我认为这是因为你的获取类型是懒惰的,你有两种方法
1-调用函数getter以获取函数列表
2-将获取类型更改为“渴望”