我有三节课:
产品:
@Entity
@Table(name ="product")
public class Product {
private long product_id;
private String name;
private double priceWithTax;
private String tax;
private String transportPackage;
private double l_kginTP;
private String category;
private Set<EmployeeProduct> employeeProducts=new HashSet<EmployeeProduct>();
public Product() {
super();
}
@Id
@GeneratedValue
@Column(name = "product_id")
public long getProduct_id() {
return product_id;
}
public void setProduct_id(long product_id) {
this.product_id = product_id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPriceWithTax() {
return priceWithTax;
}
public void setPriceWithTax(double priceWithTax) {
this.priceWithTax = priceWithTax;
}
@OneToMany(mappedBy = "product")
public Set<EmployeeProduct> getEmployeeProducts() {
return employeeProducts;
}
public void setEmployeeProducts(Set<EmployeeProduct> employeeProducts) {
this.employeeProducts = employeeProducts;
}
public String getTax() {
return tax;
}
public void setTax(String tax) {
this.tax = tax;
}
public String getTransportPackage() {
return transportPackage;
}
public void setTransportPackage(String transportPackage) {
this.transportPackage = transportPackage;
}
public double getL_kginTP() {
return l_kginTP;
}
public void setL_kginTP(double l_kginTP) {
this.l_kginTP = l_kginTP;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
员工:
@Entity
@Table(name = "employee")
public class Employee {
private long employee_id;
private String name;
private String lastName;
private Set<EmployeeProduct> employeeProducts = new HashSet<EmployeeProduct>();
public Employee() {
super();
}
public Employee(long id, String name, String lastName) {
super();
this.employee_id = id;
this.name = name;
this.lastName = lastName;
}
public void addEmployeeProduct(EmployeeProduct eproduct)
{
this.employeeProducts.add(eproduct);
}
@Id
@GeneratedValue
@Column(name="employee_id")
public long getEmployee_id() {
return employee_id;
}
public void setEmployee_id(long employee_id) {
this.employee_id = employee_id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
@OneToMany(mappedBy="product")
public Set<EmployeeProduct> getEmployeeProducts() {
return employeeProducts;
}
public void setEmployeeProducts(Set<EmployeeProduct> employeeProducts) {
this.employeeProducts = employeeProducts;
}
}
员工产品:
@Entity
@Table(name="EmployeeProduct")
public class EmployeeProduct {
private long employee_product_id;
private Employee employee;
private Product product;
private Date date;
private double quantityTaken;
private double quantityReturn;
private double quantitySale;
@Id
@GeneratedValue
@Column(name = "employee_product_id")
public long getEmployee_product_id() {
return employee_product_id;
}
public void setEmployee_product_id(long employee_product_id) {
this.employee_product_id = employee_product_id;
}
@JsonIgnore
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "employee_id")
public Employee getEmployee() {
return employee;
}
public void setEmployee(Employee employee) {
this.employee = employee;
}
@JsonIgnore
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "product_id")
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
@Column(name = "date")
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public double getQuantitySale() {
return quantitySale;
}
public void setQuantitySale(double quantitySale) {
this.quantitySale = quantitySale;
}
public double getQuantityTaken() {
return quantityTaken;
}
public void setQuantityTaken(double quantityTaken) {
this.quantityTaken = quantityTaken;
}
public double getQuantityReturn() {
return quantityReturn;
}
public void setQuantityReturn(double quantityReturn) {
this.quantityReturn = quantityReturn;
}
}
我有一个控制器类,在那里我有以下帖子:
@CrossOrigin
@RequestMapping(value = "/distribution/create", method = RequestMethod.POST)
public void addEmployee(@RequestBody EmployeeProduct e) {
EmployeeProduct employeeProduct = new EmployeeProduct();
employee.setEmployee(e.getEmployee());
employee.setProduct(e.getProduct());
employeeService.addEmployee(employeeProduct);
}
对于setEmployee,我需要设置一个长参数,它是employee_id的外键,但当我发送请求时,我需要发送对象。同样的情况也适用于产品,当我想发送请求时,我需要发送产品的对象,但我想发送产品的外键参数。
{
"employee_id":1,
"product_id":1,
"quantity":5
}
假设DB中已经存在员工和产品,您应该首先加载每个相关实体,以便从JPA中为每个实体获取一个附加实体。然后将其设置为主实体。
正确的代码如下所示:
EmployeeProduct employeeProduct = new EmployeeProduct();
Employee employee = employeeRepository.findOne(e.getEmployeeId());
employeeProduct.setEmployee(employee);
Product product= productRepository.findOne(e.getProductId());
employeeProduct.setProduct(product);
employeeService.addEmployee(employeeProduct);
问题内容: 我正在尝试使用JPA 2.0创建具有通用关系的多态实体。应该有两个表,一个事件表和一个通知表。在这些表内是彼此相关的具体实体,如下所示: 从逻辑上讲,这应该在休眠状态下是可能的,因为在SQL中是可能的: 这就是我所拥有的: 使用此代码,我可以持久保存并获取任何Event,Notification,LoginEvent或NotificationEvent,但是当我尝试在JPA 2.0元模
我有两个实体:UserEntity和LoginEntity,每个实体都有CrudePositories。实体之间的关系为OneToOne,其中一个用户将拥有一个登录帐户。我还创建了一个控制器,我可以从数据库中获取所有数据,也就是说,当调用getalluser时,我可以让所有具有关系的用户登录。当我调用getAllLogins时,我会得到所有登录帐户。我还分别使用API插入了用户和登录名,这很好,但
问题内容: 假设我有两个表:Store和Product。我希望我的商店有产品清单。我怎样才能做到这一点? 我开始这样的事情,但是我不知道该如何完成,你们能帮我吗? 问题答案: 多对一(产品只能有一家商店) 多对多(产品可以在许多商店中使用)
问题内容: 我有2个表,“问题与答案”,具有多对多关系(即,问题可以有多个答案,而“答案”可以被多个“问题”重用)。为了进行标准化,我在它们之间有一个交叉引用表,名为Question_Answer,与这两个表具有多对一关系。这些是它们的类定义: 我正在尝试根据某些条件获得答案列表。这是我的条件查询(使用Grails 函数): 这是我遇到的问题的一个示例: 我有一个匹配3个不同问题的答案。我在“列表
问题内容: 有三个表:,并且,医院能提供的医疗服务和语言服务。因此,存在两个多对多关系。 简单ERD 现在,我想使用和搜索医院数据。 DaoImpl: 而且,如果我想从三个表中按邮政编码,医疗类型和语言进行搜索,那么如何编写一个jsql。 警告: 错误:org.hibernate.hql.internal.ast.ErrorCounter- 预期加入的路径!希望加入的路径!在org.hiberna
问题内容: 假设我有表,以及: 我想知道如何找到足球(30)和棒球(50)俱乐部中的所有学生。 虽然此查询不起作用,但这是我到目前为止最接近的东西: 问题答案: 我很好奇 众所周知,好奇心以杀死猫而闻名。 那么,哪一种最快的方法是给猫皮呢? 此测试的精确蒙皮环境: *Debian Squeeze上的 *PostgreSQL 9.0 ,具有不错的RAM和设置。 6.000名学生,24.000个俱乐部