Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jpa Multiple writable mappings exist for the field, Multiple writable mappings exist for the 
:(
    Опции темы
NikitOS9
Дата 6.9.2013, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.12.2007

Репутация: 1
Всего: 1



пробую с простым составным ключем

Код

@Entity
@Table(name = "item_author_role")
public class ItemAuthorRole implements Serializable {
  @Getter @Setter @EmbeddedId
  private ItemAuthorRoleId id;
  @Setter private Item item;

  @MapsId("itemId")
  @ManyToOne(fetch = FetchType.LAZY)
  @JoinColumn(name = "item_id", referencedColumnName = "item_id")
  public Item getItem()               { return item; }

  @Override
  public boolean equals(Object obj) {
    return this == obj || obj != null && getClass() == obj.getClass();
  }

  @Override
  public int hashCode() {
    return new HashCodeBuilder(17, 31).append(item).toHashCode();
  }
}

@Embeddable
class ItemAuthorRoleId implements Serializable {
  @Getter @Setter @Column(name = "item_id", nullable = false)
  private int itemId;

  @Override
  public boolean equals(Object obj) {
    return this == obj || obj != null && getClass() == obj.getClass();
  }

  @Override
  public int hashCode() {
    return new HashCodeBuilder(17, 31).append(itemId).toHashCode();
  }
}


Item 

Код

@Entity
@Table(name = "items")
public class Item extends AbstractModel implements Serializable {
  @Setter private Set<ItemAuthorRole> itemAuthorRoleSet;
  @Setter private Technic technic;

  {
    itemAuthorRoleSet = new HashSet<>(0);
  }

  @Override
  @SequenceGenerator(name = "isg", sequenceName = "item_sequence", initialValue = 1, allocationSize = 2)
  @Id
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "isg")
  public Integer getId()                               { return super.getId(); }

  @JoinColumn(name = "item_id", insertable = false, updatable = false) // это убирал, не влияет
  @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.DETACH}, mappedBy = "item", targetEntity = ItemAuthorRole.class)
  public Set<ItemAuthorRole> getItemAuthorRoleSet()    { return itemAuthorRoleSet; }

  @OneToOne
  @JoinColumn(name = "technic_id")
  public Technic getTechnic()                          { return technic; }

  @Version
  @Column(name = "opt_lock")
  private Long version;
}


ошибка

Код

Exception [EclipseLink-48] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: Multiple writable mappings exist for the field [item_author_role.item_id].  Only one may be defined as writable, all others must be specified read-only.
Mapping: org.eclipse.persistence.mappings.OneToOneMapping[item]
Descriptor: RelationalDescriptor(model.item.ItemAuthorRole --> [DatabaseTable(item_author_role)])


что не правильно ? 
спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0568 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.