комбинировать методы entityManeger со стандартными методами воспроизведения - PullRequest
1 голос
/ 18 марта 2011

Мне нужно продлить действие delete() из класса Playframework Model, и я должен использовать EntityManager и nativeQuery. Я еще не выяснил, что именно делает playframework с сеансом (думаю, так и есть), но кажется, что этот запрос до super.delete() не был выполнен. У кого-нибудь есть мысли по этому поводу?

@Entity
public class MyModel extends Model {

    ...
    @Override
    public Tag delete() {

        final Query deleteLinksQuery = Tag.em().createNativeQuery("some query here");        

        int res = deleteLinksQuery.executeUpdate();

        // here res=1 i.e. it works but it seems doesn't save to db

        return super.delete();
    }

}

Я попытался выполнить MyModel.em().flush(); после обновления выполнения запроса, но он не сработал.

1 Ответ

1 голос
/ 18 марта 2011

нам нужно увидеть запрос, чтобы узнать, почему он может не работать.Код кажется правильным, поэтому я бы обвинял его в неправильном JQL.

Тем не менее, я бы предложил использовать аннотации @PreRemove и @PostRemove для методов для запуска запроса.Он сохраняет код чище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...