Будьте в спящем режиме @ManyToMany удаляют отношение

Прочитайте SLA тщательно ( http://aws.amazon.com/ec2-sla/ ), они только считают "регион Недоступным" как время простоя, и что больше, они только считают его как время простоя, если регион снижается в течение 5 минут подряд.

“ "Ежегодное Время работы Percentage” вычисляется путем вычитания из 100% процента 5-минутных периодов в течение Сервисного года, в котором Amazon EC2 был в состоянии Недоступных “Region. ”

моим количеством, это означает любое время простоя менее затем 4 минут, не исчисляем. Также, если они действительно повреждают SLA, они находятся только в в течение %10 из месяца, в котором у Вас был самый большой счет времени простоя. Таким образом, если они, где вниз на весь январь и Ваш счет были 100$, они применят кредит в размере 10$ к Вашей учетной записи.

мне пришелся бы нелегко convensing мой босс, что это - серьезный продукт с SLA как этот.

5
задан Brian Tompsett - 汤莱恩 4 July 2015 в 12:42
поделиться

2 ответа

Я думаю, что вы должны использовать эту аннотацию

    @OnDelete(action = OnDeleteAction.CASCADE)
    @Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)

и изменить cascade.remove на CascadeType.ALL ваш код должен быть примерно таким

   @ManyToMany(cascade = CascadeType.ALL, mappedBy = "users")
   @OnDelete(action = OnDeleteAction.CASCADE)
   @Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
   private List<UsersList> usersLists = new ArrayList<UsersList>();
-1
ответ дан 14 December 2019 в 04:44
поделиться

Что вам нужно, так это атрибут @JoinTable:

Hibernate не знает, что отношения «многие ко многим» относятся друг к другу, и, вероятно, создаст две таблицы соединения. Если вы укажете один и тот же @JoinTable на обеих сторонах отношения, он будет работать, как ожидалось.

Убедитесь, что joinColumn и inverseJoinColumn являются противоположностями на противоположных стороны отношения.

  • joinColumn с одной стороны == inverseJoinColumn с другой стороны
  • inverseJoinColumn с одной стороны == joinColumn с другой стороны

Надеюсь, это поможет.

@Entity
public class Role extends Identifiable {

    @ManyToMany(cascade ={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
    @JoinTable(name="Role_Permission",
            joinColumns=@JoinColumn(name="Role_id"),
            inverseJoinColumns=@JoinColumn(name="Permission_id")
        )
    public List<Permission> getPermissions() {
        return permissions;
    }

    public void setPermissions(List<Permission> permissions) {
        this.permissions = permissions;
    }
}

@Entity
public class Permission extends Identifiable {

    @ManyToMany(cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
    @JoinTable(name="Role_Permission",
            joinColumns=@JoinColumn(name="Permission_id"),
            inverseJoinColumns=@JoinColumn(name="Role_id")
        )
    public List<Role> getRoles() {
        return roles;
    }

    public void setRoles(List<Role> roles) {
        this.roles = roles;
    }

}
9
ответ дан 14 December 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: