ssj(spring+spring-mvc+jpa)通过jpa注解自动生成数据库表结构,相关注解解释(新手小白) @Entity @ManyToMany(fetch = FetchType.EAGER) `## role实体类详细内容“ import java.util.Date; import javax.persistence.Entity; import org.springframework.format.annotation.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonFormat; }相关注解解释
//表明这是一个实体类
@Table(name = “t_role_new”)
//在数据库自动生成表时,表的名称。
@Id
//表明这是主键id。
@GeneratedValue(strategy = GenerationType.AUTO)
//这是一个生成策略,mysql底层数据库使用的是identity,oracle底层数据库使用的是sequence。这里AUTO是根据使用的数据库来自动选择主键生成的策略。
@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:dd”)
//这是日期格式pattern表示样式,还可以是“yyyy-MM-dd”等。
@JsonIgnore
//前台转化json格式是忽略此字段。
@Transient
//表明是一个临时字段,在自动生成表结构时忽略此字段。多对多注解
//多对多,
FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载;
FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载;
因为我们用的是异步加载,所以要用FetchType.EAGER
@JoinTable(name = “t_role_permission_new”,
//会生成一张名称为“t_role_permission_new”且包含两个字段:roleId,permissionId;
joinColumns = @JoinColumn(name = “roleId”),
//role实体类的主键
inverseJoinColumns = @JoinColumn(name = “permissionId”)
//permission实体类主键
)
package com.fh.model;
import java.util.Set;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.persistence.Transient;
import com.fasterxml.jackson.annotation.JsonIgnore;
@Entity
@Table(name = “t_role_new”)
public class Role {
//与permission关联
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = “t_role_permission_new”,joinColumns = @JoinColumn(name = “roleId”),inverseJoinColumns = @JoinColumn(name = “permissionId”))
@JsonIgnore
private Set permissionSet;
@Transient
private String permissionIds;
//与permission关联结束
//与user关联
@Transient
private String userIds;
@ManyToMany(fetch = FetchType.EAGER,mappedBy = “roleSet”)
private Set userSet;
//与user关联结束
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer roleId ;
private String roleName ;
private Integer roleStatus;//角色状态1.禁用 2.启用
private String roleRemark;//角色备注@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd",timezone = "GMT+8") private Date createDate ; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:dd") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd",timezone = "GMT+8") private Date updateDate ; public Integer getRoleId() { return roleId; } public void setRoleId(Integer roleId) { this.roleId = roleId; } public String getRoleName() { return roleName; } public void setRoleName(String roleName) { this.roleName = roleName; } public Integer getRoleStatus() { return roleStatus; } public void setRoleStatus(Integer roleStatus) { this.roleStatus = roleStatus; } public String getRoleRemark() { return roleRemark; } public void setRoleRemark(String roleRemark) { this.roleRemark = roleRemark; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } public Date getUpdateDate() { return updateDate; } public void setUpdateDate(Date updateDate) { this.updateDate = updateDate; } public String getUserIds() { return userIds; } public void setUserIds(String userIds) { this.userIds = userIds; } public Set<User> getUserSet() { return userSet; } public void setUserSet(Set<User> userSet) { this.userSet = userSet; } public Set<Permission> getPermissionSet() { return permissionSet; } public void setPermissionSet(Set<Permission> permissionSet) { this.permissionSet = permissionSet; } public String getPermissionIds() { return permissionIds; } public void setPermissionIds(String permissionIds) { this.permissionIds = permissionIds; }
## 写在最后 本篇是新手发布内容,如有相关错误言论,大神们可联系本博主修改或删除,请大家多多指教与包涵!!!
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算