Как создать переменную из другого объекта класса - PullRequest
0 голосов
/ 17 мая 2018

У меня есть два Java-класса, Product и ProductReview.В ProductReview помимо переменных long id и String рассматривается переменная с именем Product, которая должна содержать объект из класса Product.Пример:

@Entity
@Table(name="Product Reviews")
public class ProductReview implements java.io.Serializable {

@Id
@Column
private long id;

@Column
private String review;

private (stuck here, how do I type another classes object as a variable?)

Класс Product имеет закрытые переменные long id, String name и List reviews (который также берет отзывы из класса ProductReviews).Класс Product имеет связь «один ко многим» с ProductReviews и наоборот.

Поэтому мой вопрос: каков правильный синтаксис для создания третьей переменной в приведенном выше примере?Переменная должна быть экземпляром объекта-продукта.

1 Ответ

0 голосов
/ 17 мая 2018

Вы можете использовать ниже Классы и отображение

@Entity
public class Product {

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="Product_Id")
private int id;

@Column(name="Product_Name")
private String name;

@Column(name="Product_Price")
private double price;

@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL,orphanRemoval=true,mappedBy="product")
private Set<ProductReview> review = new HashSet<ProductReview>();

public Product(String name, double price) {
    this.name = name;
    this.price = price;
}
//Getter and Setter
}

и ProductReview Class

@Entity
public class ProductReview {

@javax.persistence.Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="Review_Id")
private int Id;

@Column(name="Review")
private String review;

@ManyToOne()
@JoinColumn(name="Product_Id")
private Product product;

public ProductReview(String review, Product product) {
    this.review = review;
    this.product = product;
}

public ProductReview() {

}
//Getter and Setter
}

Изображение таблицы продуктов

Изображение таблицы ProductReview

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...