Будьте в спящем режиме *НЕ* выдача исключения (я думаю, что она должна),

У меня были некоторые проблемы в Swift 1.2 с использованием UInt, сейчас я использую Int, и это работает. В этом примере показано, как преобразовать изображение в изображение в градациях серого.

    let imageRect = self.myImage.frame

    let colorSpace = CGColorSpaceCreateDeviceGray()
    let width = imageRect.width
    let height = imageRect.height

    let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.None.rawValue)
    let context = CGBitmapContextCreate(nil, Int(width), Int(height), 8, 0, colorSpace, bitmapInfo)
7
задан André Chalella 3 June 2009 в 21:07
поделиться

3 ответа

Обновление в спящем режиме не является ОБНОВЛЕНИЕМ в языке SQL. Hibernate обрабатывает ОБНОВЛЕНИЯ SQL автоматически через кэш состояний в объекте сеанса.

Но это только для сущностей, загруженных в текущем сеансе. Этот метод, session.update (object) , предназначен для присоединения объекта с другого уровня к текущему сеансу для отслеживания и, возможно, обновления в конце.

В вашем случае это просто NOOP. Это будет неприятно, если:

Email email = new Email("andre", "girafa", "hi");

Session session = factory.openSession();
Transaction tx = session.beginTransaction();

int id = session.save(email);
Email anotherEmail = new Email("", "", "");
anotherEmail.id = id;

session.update(anotherEmail);    // will throw

Вы можете узнать больше о семантике метода обновления в справочнике по Hibernate .

8
ответ дан 6 December 2019 в 15:29
поделиться

Нет ошибок, потому что это тот же экземпляр вы обновляете.

Ошибка возникает, если в сеансе присутствует ДРУГОЙ постоянный экземпляр и вы пытаетесь выполнить update ().

6
ответ дан 6 December 2019 в 15:29
поделиться

Вы можете попробовать с session.flush ()? Чтобы узнать, вызывает ли это исключение (иногда фиксация может не сбрасывать данные в зависимости от режима очистки).

Хотя я бы сказал, что исключение выдается только в том случае, если объект был обновлен вне области действия текущего сеанса, скажем, параллельным клиентом.

0
ответ дан 6 December 2019 в 15:29
поделиться
Другие вопросы по тегам:

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