JPA 存储库返回多对多策略的雇员列表

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

我有:

@实体 @Table(姓名=“员工”) 数据类员工( @ID @Column(名称=“id”) @GenerateValue(策略 = GenerationType.IDENTITY) 有效 ID:整数? = 空,

@Column(name = "position")
var position: String,

@Column(name = "name")
var name: String,

@Column(name = "surname")
var surname: String,

@Column(name = "authorized_signature")
var authorized_signature: Boolean?,

@ManyToMany(fetch = FetchType.EAGER, mappedBy = "signedEmployees")
var trip: MutableSet<Trip> = mutableSetOf(),

@ManyToOne(cascade = [CascadeType.ALL], fetch = FetchType.LAZY)
@JoinColumn(name = "id_filial")
var filial: Filial,

//val user_id: Int? = null,

@实体 @Table(名称=“行程”) 数据类 Trip( @ID @Column(名称=“id”) @GenerateValue(策略 = GenerationType.IDENTITY) 有效 ID:整数? = 空,

@Column(name = "id_country")
var idCountry: Int,

@Column(name = "id_hotel")
var idHotel: Int,

@Column(name = "days_amount")
var daysAmount: Int,

@Column(name = "id_client")
var idClient: Int,

@Column(name = "amount_of_people")
var amountOfPeople: Int,

@Column(name = "id_employee")
var idEmployee: Int,

@ManyToMany(cascade = [CascadeType.ALL], fetch = FetchType.EAGER)
@JoinTable(
    name = "trip_employee",
    joinColumns = [JoinColumn(name = "trip_id")],
    inverseJoinColumns = [JoinColumn(name = "employee_id")]
)
var signedEmployees: MutableSet<Employee> = mutableSetOf(),

@ManyToMany(mappedBy = "trips")
var tours: Set<Tour> = mutableSetOf(),

当我与员工连接旅行时,我可以看到多对多表中的记录,如下所示: 行程 ID:32 员工 ID 3 但是当我从 API 调用加载数据时,我的最后一条记录的signedEmployees 设置为空列表(参见屏幕截图)

可能是什么原因以及如何解决?

我尝试使用单向多对多

java spring api jpa backend
1个回答
0
投票

您可以提供您在存储库或服务中的代码吗?

© www.soinside.com 2019 - 2024. All rights reserved.