Я пытаюсь отобразить таблицы ниже в JPA. Отношения один-ко-многим между user_tax и налогом и user_tax и user . Меня смущает тот факт, что у меня есть составной первичный ключ, и мне нужно сопоставить внешние ключи с этими двумя ключами.
сообщение об ошибке: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: entity.Tax.user_tax in entity.UserTax.taxs
tax user_tax user
-------- -------- ------
PK|t_id |--------| t_id |PK-FK |u_name|
|t_name| PK-FK| u_id |-------|u_id | PK
| | | name | | |
Вот мои сущности:
@Entity
@Table(name = "user")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name="u_name")
private String uname;
getters + setters
}
@Entity
@Table(name = "tax")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class Tax implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "t_name")
private String tname;
@Embeddable
public class UserTaxId implements Serializable {
@Column(name="u_id")
private Long uId;
@Column(name="t_id")
private Long tId;
@Entity
@Table(name = "user_tax")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class UserTax implements Serializable {
@EmbeddedId
private UserTaxId userTaxId;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user_tax")
private List<User> users;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user_tax")
private List<Tax> taxs;