使用JPA/Hibernate连接springboot中的表时出现问题
我可能还有很多东西要学,但我已经在网上丢了很多例子,但运气不好。我只想创建一个@jointable 我的模特是使用JPA/Hibernate连接springboot中的表时出现问题,hibernate,spring-boot,jpa,controller,Hibernate,Spring Boot,Jpa,Controller,我可能还有很多东西要学,但我已经在网上丢了很多例子,但运气不好。我只想创建一个@jointable 我的模特是 @Entity @Table(name="UserLogin") public class User { @Id @Column(name="UserID") private long userID; @Column(name="email", nullable = false, unique=true) private String usern
@Entity
@Table(name="UserLogin")
public class User {
@Id
@Column(name="UserID")
private long userID;
@Column(name="email", nullable = false, unique=true)
private String username;
@Column(name = "password")
private String password;
@Entity
@Table(name = "Menu")
public class Menu {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ItemID")
private long itemID;
@Column(name = "Item_Name")
private String item_Name;
@Column(name = "Item_Price")
private float item_Price;
@Column(name = "Item_Points")
private int item_Points;
@Column(name = "Item_Calories")
private int item_Calories;
@Column(name = "Item_Discount")
private float item_Discount;
我已经在控制器中为菜单实体创建了CRUD函数,但希望创建一个添加按钮,以便客户可以将项目存储在该表的帐户中
create table UserOrder(
EmployeeID INT not null,
ItemID int not null,
FOREIGN KEY (EmployeeID) REFERENCES UserLogin(EmployeeID),
FOREIGN KEY (ItemID) REFERENCES Menu(ItemID)
)
如何为“添加”按钮创建控制器?或者我只是在存储库中编写自己的查询?
感谢任何人的帮助,我也可以链接到project。当您这样做时,这被称为带有联接表的一对多映射,所以您不需要在db中手动创建表 详情如下:
@Table(name = "UserLogin")
@Entity
public class User {
.
.
.
@OneToMany(cascade=CascadeType.ALL)
@JoinTable(name="USER_ORDER", joinColumns={@JoinColumn(name="userId", referencedColumnName="userId")}
, inverseJoinColumns={@JoinColumn(name="ItemID", referencedColumnName="ItemID")})
private Set<Menu> items;
}
@Entity
@Table(name = "Menu")
public class Menu {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ItemID")
private long itemID;
......
.....
}
@Table(name=“UserLogin”)
@实体
公共类用户{
.
.
.
@OneToMany(级联=级联类型.ALL)
@JoinTable(name=“USER\u ORDER”,joinColumns={@JoinColumn(name=“userId”,referencedColumnName=“userId”)}
,inverseJoinColumns={@JoinColumn(name=“ItemID”,referencedColumnName=“ItemID”)})
私人设置项目;
}
@实体
@表(name=“菜单”)
公共类菜单{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
@列(name=“ItemID”)
私有长项目ID;
......
.....
}
参考: