Прочитайте SLA тщательно ( http://aws.amazon.com/ec2-sla/ ), они только считают "регион Недоступным" как время простоя, и что больше, они только считают его как время простоя, если регион снижается в течение 5 минут подряд.
“ "Ежегодное Время работы Percentage” вычисляется путем вычитания из 100% процента 5-минутных периодов в течение Сервисного года, в котором Amazon EC2 был в состоянии Недоступных “Region. ”
моим количеством, это означает любое время простоя менее затем 4 минут, не исчисляем. Также, если они действительно повреждают SLA, они находятся только в в течение %10 из месяца, в котором у Вас был самый большой счет времени простоя. Таким образом, если они, где вниз на весь январь и Ваш счет были 100$, они применят кредит в размере 10$ к Вашей учетной записи.
мне пришелся бы нелегко convensing мой босс, что это - серьезный продукт с SLA как этот.
Я думаю, что вы должны использовать эту аннотацию
@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>();
Что вам нужно, так это атрибут @JoinTable:
Hibernate не знает, что отношения «многие ко многим» относятся друг к другу, и, вероятно, создаст две таблицы соединения. Если вы укажете один и тот же @JoinTable на обеих сторонах отношения, он будет работать, как ожидалось.
Убедитесь, что joinColumn и inverseJoinColumn являются противоположностями на противоположных стороны отношения.
Надеюсь, это поможет.
@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;
}
}