ssj(spring+spring-mvc+jpa)通过jpa注解自动生成数据库表结构,相关注解解释(新手小白)

ssj(spring+spring-mvc+jpa)通过jpa注解自动生成数据库表结构,相关注解解释(新手小白)

相关注解解释

@Entity
//表明这是一个实体类
@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
//表明是一个临时字段,在自动生成表结构时忽略此字段。

多对多注解

@ManyToMany(fetch = FetchType.EAGER)
//多对多,
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实体类主键
)

`## role实体类详细内容``
package com.fh.model;

import java.util.Date;
import java.util.Set;

import javax.persistence.Entity;
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 org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
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;
}

}

## 写在最后
本篇是新手发布内容,如有相关错误言论,大神们可联系本博主修改或删除,请大家多多指教与包涵!!!


原创文章 3 获赞 35 访问量 254

猜你喜欢

转载自blog.csdn.net/weixin_46763029/article/details/106133811
今日推荐