У меня есть такие сущности:
@Entity
public class Carburant implements Serializable{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id_carburant")
private long id;
private String nom;
private String description;
@JsonIgnore
@OneToMany(mappedBy="carburant")
private Set<HistCarb> stations ;
public Carburant() {
super();
}
}
2
@Entity
@Table(name="Station")
public class Station implements Serializable{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id_station")
private long id ;
private String nom;
private String ville;
private String adresse;
@Transient
private boolean nul = false;
@JsonIgnore
@OneToMany(mappedBy="station")
private Set<HistCarb> historiques ;
public Station() {
super();
}
}
3
@Entity
public class HistCarb implements Serializable{
@Id
@Column(name="id",updatable=false,nullable=false)
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
private Date date;
private Integer prix;
@Id
@ManyToOne
@JoinColumn(name="id_station")
private Station station ;
@Id
@ManyToOne
@JoinColumn(name="id_carburant")
private Carburant carburant ;
public HistCarb() {
super();
}
}
диаграмма классов: введите описание изображения здесь
и ее проблема: hibernate дает мне этот sql-код для таблицы HistCarb:
create table HistCarb (
id bigint not null,
date datetime,
prix integer,
id_station bigint not null auto_increment,
id_carburant bigint not null,
primary key (id_station, id, id_carburant)
) engine=InnoDB
с id_station auto_increment, но я хочу, чтобы hibernate генерировал только идентификатор столбца в качестве поля auto_increment, как на самом деле яупомянутое в юридическом лице 3 Я надеюсь, что кто-то может помочь мне с этой проблемойЯ не использовал встроенный идентификатор для объекта 3, я думаю, что мы можем сделать это без встроенного идентификатора, потому что я нашел его очень сложным для реализации, и когда я попытался использовать встроенный идентификатор для этой ситуации, это дает некоторые ошибки.