@Entity
@Table(name = "FLOWER")
@NamedQuery(name = "getFlowers", query = "SELECT c from Flower c")
@XmlRootElement(name = "FLOWER")
public class Flower implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_cust")
@SequenceGenerator(name = "seq_cust", sequenceName = "seq_cust", allocationSize = 1)
@Column(name = "FLOWER_ID")
private Long flowerId;
@Column(name = "FLOWER_NAME")
private String flowerName;
@Column(name = "FLOWER_COST")
private float flowerCost;
@Column(name = "FLOWER_IN_STOCK")
private int flowerInStock;
@OneToMany(mappedBy="FLOWER")
private Set<Position> position;
public Flower() {
}
public Flower(String flowerName, float flowerCost, int flowerInStock) {
this.flowerName = flowerName;
this.flowerCost = flowerCost;
this.flowerInStock = flowerInStock;
}
public Long getFlowerId() {
return flowerId;
}
@XmlElement
public void setFlowerId(Long flowerId) {
this.flowerId = flowerId;
}
public String getFlowerName() {
return flowerName;
}
@XmlElement
public void setFlowerName(String flowerName) {
this.flowerName = flowerName;
}
public float getFlowerCost() {
return flowerCost;
}
@XmlElement
public void setFlowerCost(float flowerCost) {
this.flowerCost = flowerCost;
}
public int getFlowerInStock() {
return flowerInStock;
}
@XmlElement
public void setFlowerInStock(int flowerInStock) {
this.flowerInStock = flowerInStock;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
@XmlElement
public Set<Position> getPosition() {
return position;
}
public void setPosition(Set<Position> position) {
this.position = position;
}
}
второй класс
@Entity
@Table(name = "POSITION")
@XmlRootElement(name = "POSITION")
public class Position implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_cust")
@SequenceGenerator(name = "seq_cust", sequenceName = "seq_cust", allocationSize = 1)
@Column(name = "POSITION_ID")
private Long positionId;
@Column(name = "POSITION_QUANTITY")
private int positionQuantity;
@Column(name = "POSITION_COST")
private float positionCost;
@ManyToOne
@JoinColumn(name="FLOWER_ID")
private Flower flower;
public Position() {
}
public Position(int positionQuantity) {
this.positionQuantity = positionQuantity;
this.positionCost = positionQuantity*flower.getFlowerCost();
}
public Long getPositionId() {
return positionId;
}
@XmlElement
public void setPositionId(Long positionId) {
this.positionId = positionId;
}
public int getPositionQuantity() {
return positionQuantity;
}
@XmlElement
public void setPositionQuantity(int positionQuantity) {
this.positionQuantity = positionQuantity;
}
public float getPositionCost() {
return positionCost;
}
@XmlElement
public void setPositionCost(float positionCost) {
this.positionCost = positionCost;
}
public Flower getFlower() {
return flower;
}
@XmlElement
public void setFlower(Flower flower) {
this.flower = flower;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
}
правильный ответ дал сергей
@OneToMany(mappedBy="FLOWER") => @OneToMany(mappedBy="flower")?
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники