Я пытаюсь сгенерировать однонаправленное отображение «один ко многим» между двумя объектами JPA.В моем классе ChatRoom
у меня есть объект типа Vector<User>
, который представляет User
s в ChatRoom
.Я пытаюсь создать отображение «один ко многим» на основе userId
(в классе User
).Вот мой пример кода:
@Entity
public class ChatRoom {
@Id
@GeneratedValue
private int chatRoomID;
@OneToMany(mappedBy="userID")
private Vector<User> users;
// A no-argument constructor is required for EclipseLink to instantiate the persistence object properly.
public ChatRoom() {}
// Getter/Setter section
}
Вот класс User:
@Entity
public class User {
@Id
@GeneratedValue
private int userID;
private String username;
// Getter/Setter section
}
Когда я пытаюсь сгенерировать таблицы из этих сущностей в Eclipse, я получаю следующую ошибку:
Internal Exception: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [ChatJPA] failed.
Internal Exception: Exception [EclipseLink-7244] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
Exception Description: An incompatible mapping has been encountered between [class iosoa.entity.ChatRoom] and [class iosoa.entity.User]. This usually occurs when the cardinality of a mapping does not correspond with the cardinality of its backpointer.
at org.eclipse.persistence.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:126)
У вас есть идеи, как решить эту проблему?Спасибо за вашу помощь.