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;
}

}

## 寫在最後
本篇是新手發佈內容,如有相關錯誤言論,大神們可聯繫本博主修改或刪除,請大家多多指教與包涵!!!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章