Spring @导致列表中重复的Id注释

Spring @导致列表中重复的Id注释,spring,hibernate,stored-procedures,Spring,Hibernate,Stored Procedures,我正在使用Hibernate调用存储过程 Response returned by Stored procedure receiverId fcmId source 1234 xyz android 45678 abc web 9876 fgh android 1234 ygh ios Hib

我正在使用Hibernate调用存储过程

Response returned by Stored procedure 


         receiverId  fcmId    source
           1234        xyz     android
           45678       abc     web
           9876        fgh     android
           1234       ygh     ios
Hibernet@EntityClass

 @Entity
 public class receieverDetails {

@Id
@Column(name="receiverId")
private String receiverUserId;

@Column(name="fcmId")
private String fcmIds;

private String source;

 }
我正在从数据库中获取收款人详细信息列表

如果列表中包含重复的接收方ID,如上述响应所示,则第一个将替换第四个详细信息

绑定代码

     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();
 }
ProcedureCall过程调用1=
createStoredProcedureCall(Strings.StoredProcedureNames.GET\u RECEIVER\u information\u OF \u赞助商的\u消息,receiveDeverDetails.class);
Output output1=procedureCall1.getOutputs().getCurrent();
if(output1.isResultSet()){
列表接收者=((ResultSetOutput)output1.getResultList();
}
我认为这是由实体类中的@Id注释引起的,因为它只发生在相同的receiverid上


请在代码中提供
@Id
注释给列
receiverId
,以帮助我解决此问题。您告诉代码此字段将用作表的主键。因此,在获取数据时,会出现问题,因为该列的表中存在重复值。您需要正确设置主键,或者将此列作为表中的主键并更正代码。 如果您使用相同的实体类来持久化数据并使列
receiverId
主键,请尝试使用以下选项:

@Entity
public class receieverDetails {

@Id
@Column(name="receiverId",unique=true,nullable = false)
@GeneratedValue(strategy = GenerationType.AUTO)
private String receiverUserId;

@Column(name="fcmId")
private String fcmIds;

private String source;

}
@Column
中的
unique=true
@UniqueConstraint(columnNames={“receiverId”}
和其他特定约束的快捷方式。
@GeneratedValue
注释用于配置指定列(字段)的增量方式


或者,如果表的主键是表中的某个其他字段,请更正代码以反映相同的内容。

r u直接在db中添加行?receiverId是否为PK?r u是否为您的receiverId添加约束?