Я не понимаю, почему идентификаторы дублируются (id_msg, id_pers_acct), вот что есть в моем журнале Springboot:
select personneco0_.id_pers_acct as id_pers_1_2_0_,
…
from test.person_account personacc0_ where personacc0_.id_pers_acct=?
select messages0_.id_pers_acct as id_pers_5_1_0_,
messages0_.id_msg as id_msg1_1_0_,
messages0_.id_msg as id_msg1_1_1_,
messages0_.content as content2_1_1_,
messages0_.date as date3_1_1_,
messages0_.id_pers_acct_person_account as id_pers_4_1_1_,
messages0_.id_pers_acct as id_pers_5_1_1_
from test.message messages0_ where messages0_.id_pers_acct=?
В моей сущности PersonAccount у меня есть этот код:
@OneToMany(mappedBy = "sender", fetch = FetchType.LAZY)
public Set<Message> messages = new HashSet <Message>();
В моем сообщении сущности у меня есть этот код:
@Entity
@Table(name = "MESSAGE", catalog = "TEST")
public class Message implements Serializable{
/**
*
*/
private static final long serialVersionUID = -602563072975023074L;
@Id
@GeneratedValue
@Column(name = "ID_MSG")
Long idMsg;
@Column(name = "CONTENT")
String content;
@Column(name = "DATE")
Date date;
@Column(name = "ID_PERS_ACCT", nullable = false)
Long sender;
@Column(name = "ID_PERS_ACCT_PERSON_ACCOUNT", nullable = false)
Long receiver;
В моем RestController я вызываю это:
@RequestMapping(value = "/users/{id}", method = RequestMethod.GET)
public PersonAccount getUser(@PathVariable Long id) {
return userRepository.getOne(id);
}