И, имеющей таблицу как этогоОбновление множество строк с использованием одного запроса в JDO
SorOrder Имени Дата
1 Изображение1 5/6/15
2 Изображение2 6/8/16
3 Image3 6/8/16
4 image4 9/8/16 ..........
Теперь, если IAM скачали iMAGE2 я хочу udate стол так, что SortOrder снова в упорядоченной форме, как этот Обновлено Таблица:
SorOrder Имя Дата
1 Изображение1 5/6/15
2 Image3 6/8/16
3 image4 9/8/16
..........
SO как сделать это возможным?
Это класс для таблицы Изображения:
public class Images extends ApplicationEntity{
@Column(name="PROFILE_ID", allowsNull="false")
private Profile profile;
private int sortOrder;
private boolean active;
private Date deletedDate;
public Images(){
super.setEntity("Images ");
}
public Images (Profile profile, int sortOrder, boolean active,
Date deletedDate) {
super();
this.profile = profile;
this.sortOrder = sortOrder;
this.active = active;
this.deletedDate = deletedDate;
}
public Profile getProfile() {
return profile;
}
public int getSortOrder() {
return sortOrder;
}
public void setSortOrder(int sortOrder) {
this.sortOrder = sortOrder;
}
public boolean isActive() {
return active;
}
public void setActive(boolean active) {
this.active = active;
}
public Date getDeletedDate() {
return deletedDate;
}
public void setDeletedDate(Date deletedDate) {
this.deletedDate = deletedDate;
}
@Override
public String toString() {
return "Images [profile=" + profile + ", sortOrder=" + sortOrder
+ ", active=" + active + ", deletedDate=" + deletedDate + "]";
}
}
Я попробовал этот запрос: Строка запроса = «обновление изображения установлено SortOrder = ((SELECT selected_value FROM (SELECT MAX (SortOrder) AS selected_value из образов где ACTIVE = 0 & & PROFILE_Id = "+ profileId +") AS sub_selected_value) + 1) где PROFILE_Id = "+ profileId;
Но он обновляет все sorOrder до того же значения.
Я использую этот код для обновления SortOrder:
int sortoder=1;
for (Images file : imagesListFromDB) {
file.setSortOrder(sortOrder);
sortOrder++;
}
Но это занимает больше времени, если IAM, имеющие 8000 изображений, то его действительно slow.SO я думал об обновлении в одном запросе. Но не получилось.
СДО работает вокруг классов, не таблицы. Каковы классы, поля PK и т. д. –
Хорошо, у меня есть этот класс с полями 4 поля sortorder, Name, date, active.ANd всякий раз, когда iam удаляет изображение, я буду устанавливать это активное поле изображения t o true и sororder как 0. Но оставшийся порядок сортировки изображений должен быть изменен, как указано выше. – Viveka