我正在使用 Hibernate 调用存储过程
Response returned by Stored procedure
receiverId fcmId source
1234 xyz android
45678 abc web
9876 fgh android
1234 ygh ios
休眠@EntityClass
@Entity
public class receieverDetails {
@Id
@Column(name="receiverId")
private String receiverUserId;
@Column(name="fcmId")
private String fcmIds;
private String source;
}
我从数据库中获取receiverDetails 列表
如果列表包含重复的receiverId,如上面的响应所示,第一个正在替换第四个详细信息
绑定代码
ProcedureCall procedureCall1 =
session.createStoredProcedureCall(Strings.StoredProcedureNames.GET_RECEIVER_INFO_OF_SPONSORED_MESSAGE,receieverDetails.class);
Output output1 = procedureCall1.getOutputs().getCurrent();
if(output1.isResultSet()) {
List<receieverDetails> receievers = ((ResultSetOutput) output1).getResultList();
}
我认为这是由实体类中的@Id 注释引起的,因为它只发生在相同的接收器ID 上
请帮助我