Я пытаюсь подключиться к существующей базе данных Sybase, используя Play Framework JPA.
<code>
@Entity
@Table(name="trade")
public class Trade extends GenericModel
{
@Id
@Column(name="SYB_IDENTITY_COL", nullable=false, precision=10)
public long sybIdentityCol;
@Column(name="trade_number", nullable=false, precision=18)
public long tradeNumber;
@Column(name="trade_price", nullable=false, precision=16)
public double tradePrice;
.
.
.
@ManyToOne
@JoinColumn(name="book_id", referencedColumnName="SYB_IDENTITY_COL")
public Book book;
}
@Entity
@Table(name="book")
public class Book extends GenericModel
{
@Id
@Column(name="SYB_IDENTITY_COL", nullable=false, precision=10)
public long sybIdentityCol;
@Column(name="book_code", nullable=false, length=4)
public String bookCode;
.
.
.
.
}
JVM зависает, когда я вызываю следующую функцию из контроллера:
Trade trade = Trade.findById(209115258L);
Но все работает нормально, когда я удаляю отображение ManyToOne и присоединяюсь с использованием JPQL
Query query = JPA.em().createQuery("select b from Trade t, Book b where t.bookId = b.sybIdentityCol and t.sybIdentityCol=209115258");
List<Book> books = query.getResultList();
Я использую org.hibernate.dialect.Sybase11Dialect
в качестве диалекта JPA. Я не понимаю, почему не работает отображение ManyToOne.