酒店用户表...
@Entity
public class HotelUser {
@Id
@Column
@GeneratedValue
private int hotelUserId;
@Column
private String hotelUserame;
@Column(name="Role")
@OneToMany(cascade=javax.persistence.CascadeType.ALL,fetch=FetchType.EAGER)
private Set<UserRole> userRole=new HashSet<UserRole>();
.
.
我的UserRole表格如下......
@Entity
public class UserRole {
@Id
@Column
@GeneratedValue
private int userRoleId;
@Column
private String userRoleName;
//constructor and geter-setter method...
}
当我运行项目时,会创建HotelUser中的所有列,但是UserRole的列不会创建,如果您给@OneToMany的@ManyToOne关系,那么它的列创建然后为什么不为@OneToMany映射创建...?
答案 0 :(得分:0)
OneToMany注释意味着One HotelUser将拥有许多UserRole,如果在userRole
表中创建了列HotelUser
,则无法进行此操作。它将是一对一的映射。
当你注释ManyToOne时,这意味着许多用户可以在一个角色中证明一个角色是合理的,并且在HotelUser表中有一列。
在任何一种情况下,我认为这不是你想要达到的目标。我认为解决你的问题的方法是实现ManyToMany的实现。