Я делаю несколько testcases на проекте спящем:JPA 2 спящего режима установите блокировку на EntityManager.find
, когда я звоню
EntityManager em = getEntityManager();
em.find(Foo.class, 1)
Я получаю юридическое лицо, как я ожидал, но когда я invoke:
EntityManager em = getEntityManager();
em.find(Foo.class, 1, LockModeType.WRITE)
Я получаю null. Кроме того, когда я делаю:
EntityManager em = getEntityManager();
Foo foo = em.find(Foo.class, 1)
em.lock(foo, LockModeType.WRITE);
Я получаю объект, и он работает, как я ожидаю.
EDIT:
@javax.persistence.Entity
@Table(name="foo")
static class Foo implements Serializable {
@Id private Integer id;
private String code;
@Version private Integer version;
public Foo() {
}
........
}
Мои зависимости:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.5.5-Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.5.0-Beta-2</version>
</dependency>
<dependency>
<groupId>jboss</groupId>
<artifactId>jboss</artifactId>
<version>4.2.3.GA</version>
<scope>provided</scope>
</dependency>
Можете ли вы дать мне точку?
Старается с той же версией, но все еще имея проблемы. – Hugo
Отлично, кажется, сейчас работает .. но я нашел другое (отредактировав сообщение, маленький маленький здесь) – Hugo
@Hugo Хорошо, рад, что он решен. Что касается новой проблемы, это еще один вопрос. Поэтому, пожалуйста, откройте новую (лучше всего не смешивать темы) и объясните, почему этот тест должен вызывать исключение, я не понимаю, почему это должно быть. –