두 명 이상의 사용자간에 비공개 메시지 용 모델을 구현하려고합니다.단방향 매핑과 같은 유형의 일대일 및 일대 다 관리는 어떻게해야합니까?
- 사용자 사용자 모델은 편집해서는 안
- PrivateMessage
, 그래서는 단방향 관계를 설정하기 위해 노력하고있어 : 내가 두 엔티티있어 의미
:
@Entity (name = "User")
@Table (name = "user")
public class User implements Serializable {
@Id
String username;
String password;
// something like this ...
}
PrivateMessage 모델은 여러 수신자를 주소 지정하며 정확히 o ne 보낸 사람. 그래서 나는 이런 식으로 뭔가가 필요합니다
@Entity (name = "PrivateMessage")
@Table (name = "privateMessage")
@XmlRootElement
@XmlType (propOrder = {"id", "sender", "receivers",
"title", "text", "date", "read"})
public class PrivateMessage implements Serializable {
private static final long serialVersionUID = -9126766942868177246L;
@Id
@GeneratedValue
private Long id;
@NotNull
private String title;
@NotNull
private String text;
@NotNull
@Temporal(TemporalType.TIMESTAMP)
private Date date;
@NotNull
private boolean read;
@NotNull
@ElementCollection(fetch = FetchType.EAGER, targetClass = User.class)
private Set<User> receivers;
@NotNull
@OneToOne
private User sender;
// and so on
}
따라 'privateMessage'테이블이 생성되지 않으며 PM 및 많은 수신기 사이의 단지 관계를 만족한다. 나는 이것에 대해 혼란스러워합니다. 매번 'mappedBy'속성을 설정하려고하면 IDE에서 오류로 표시합니다.
User-entity가 매핑하는 비공개 메시지를 인식하지 못하는 것 같습니다.
내가 뭘 잘못하고 있니? 이 상황과 비슷한 몇 가지 상황을 해결했지만 그 해결책 중 하나도 여기에서 작동하지 않습니다.
미리 감사드립니다.
필드는 '읽기'의 MySQL의 예약 된 키워드입니다 : http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
그래서 내가 읽지 할 필드를 변경가 지금 테이블이 성공적으로 생성