Мне дали скрипт для генерации некоторых сущностей из скрипта MySQL, и я решил автоматически сгенерировать его в IntelliJ ide.
Я создал три pojos из скрипта
package com.mkl.data.entities;
public class Event {
private long id;
private long petId;
private String event;
private String remark;
private java.sql.Date date;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public long getPetId() {
return petId;
}
public void setPetId(long petId) {
this.petId = petId;
}
public String getEvent() {
return event;
}
public void setEvent(String event) {
this.event = event;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public java.sql.Date getDate() {
return date;
}
public void setDate(java.sql.Date date) {
this.date = date;
}
}
сейчас проблема в том, что нет аннотированных под jpa.Я бы сделал это вручную, но моя проблема в том, что первичный ключ не является типичным отношением, а является просто обычным примитивным значением.
Идентификатор владельца действует как первичный ключ в моей любимой таблице ..
package com.mkl.data.entities;
import javax.persistence.*;
@Entity
public class Pet {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column
private String name;
private java.sql.Date birth;
private String species;
private java.sql.Date death;
//just regular variable
private long ownerId;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public java.sql.Date getBirth() {
return birth;
}
public void setBirth(java.sql.Date birth) {
this.birth = birth;
}
public String getSpecies() {
return species;
}
public void setSpecies(String species) {
this.species = species;
}
public java.sql.Date getDeath() {
return death;
}
public void setDeath(java.sql.Date death) {
this.death = death;
}
public long getOwnerId() {
return ownerId;
}
public void setOwnerId(long ownerId) {
this.ownerId = ownerId;
}
}
в столбце расширения базы данных, он показывает отношения, но я действительно не появляюсь в pojo...
Должен ли я вместо этого поменять все отношения на типичные для JPA
@ManyToOne
private Owner owner;
или оставить ключ foregin?Может быть, с аннотацией, для ссылки на таблицу владельца?