Получение типов Javassist вместо реальных типов сущностей Hibernate

Я столкнулся с действительно раздражающей ситуацией: Я использую Hibernate и Spring в качестве backend для моего приложения и кажется, что в некоторых случаях сущности, которые находятся в отношениях с конкретной сущностью, не извлекаются как обычные объекты сущности из БД, а как Javassist типы. Например:

У меня есть сущность Campaign со следующими отношениями:

@Entity
@Table(name = "campaign")
public class Campaign implements Serializable {
  [..]
  @ManyToMany(fetch = FetchType.LAZY)
  @JoinTable(uniqueConstraints = @UniqueConstraint(columnNames = {
        "campaign_id", "dealer_id" }), name = "campaign_has_dealer", joinColumns = { @JoinColumn(name = "campaign_id", nullable = false) }, inverseJoinColumns = { @JoinColumn(name = "dealer_id", nullable = false) })
  private List<Dealer> dealers = new ArrayList<Dealer>();

@ManyToMany
// (fetch = FetchType.LAZY)
@JoinTable(uniqueConstraints = @UniqueConstraint(columnNames = {
        "campaign_id", "sales_area_id" }), name = "campaign_has_sales_area", joinColumns = { @JoinColumn(name = "campaign_id", nullable = false) }, inverseJoinColumns = { @JoinColumn(name = "sales_area_id", nullable = false) })
private List<SalesArea> salesAreas = new ArrayList<SalesArea>();
}

При получении salesAreas, связанных с этой Campaign, я получаю список SalesArea_$$_javassist_56, в то время как для дилеров я получаю обычные сущности Hibernate. Поскольку клиентская часть основана на GWT, мы используем RequestFactory для получения данных. Я сначала подумал, что это проблема с прокси, локаторами и так далее, но я установил точку останова в сервисе, где они извлекаются, и они являются объектами Javassist непосредственно после их выбора. Похоже, что даже удаление аннотации FetchType.LAZY (хотя это определенно нежелательное решение), происходит то же самое. Это происходит и с другими типами отношений, не только @ManyToMany.

Мы используем GWT 2.3, Spring 3, Hibernate 3.6.3 и JPA 2.0 для аннотаций.

Любые предложения будут оценены по достоинству.

Заранее спасибо

6
задан DataNucleus 8 December 2011 в 18:27
поделиться