class AlarmRuleBindEntity extends GenericEntity<String> {

    public static final int ANY_BRANCH_INDEX = -1;

    @Column(nullable = false, updatable = false, length = 64)
    @NotBlank
    @Schema(description = "告警配置ID")
    private String alarmId;

    @Column(nullable = false, updatable = false, length = 64)
    @NotBlank
    @Schema(description = "场景规则ID")
    private String ruleId;

    @Column(nullable = false, updatable = false)
    @Schema(description = "规则条件分支ID")
    @DefaultValue("-1")
    private Integer branchIndex;

    @Override
    public String getId() {<FILL_FUNCTION_BODY>}
}

        if (StringUtils.hasText(super.getId())) {
            return super.getId();
        }
        setId(DigestUtils.md5Hex(String.join("|", alarmId, ruleId, String.valueOf(branchIndex))));
        return super.getId();
    
<no_super_class>