2025年2月28日16:34:54 实体创建
parent
9ef0d6d023
commit
89ea4746bc
|
|
@ -0,0 +1,12 @@
|
|||
package com.zhangmeng.online.exam.dao;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.Option;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/2/28 16:14
|
||||
* @version: 1.0
|
||||
*/
|
||||
public interface OptionDao extends JpaRepository<Option, Long> {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.zhangmeng.online.exam.dao;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.Permission;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/2/28 16:04
|
||||
* @version: 1.0
|
||||
*/
|
||||
public interface PermissionDao extends JpaRepository<Permission, Long> {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.zhangmeng.online.exam.dao;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.Profession;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/2/28 16:26
|
||||
* @version: 1.0
|
||||
*/
|
||||
public interface ProfessionDao extends JpaRepository<Profession, Long> {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.zhangmeng.online.exam.dao;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.Question;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/2/28 16:15
|
||||
* @version: 1.0
|
||||
*/
|
||||
public interface QuestionDao extends JpaRepository<Question, Long> {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.zhangmeng.online.exam.dao;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.Role;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/2/28 16:04
|
||||
* @version: 1.0
|
||||
*/
|
||||
public interface RoleDao extends JpaRepository<Role, Long> {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.zhangmeng.online.exam.dao;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.Subject;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/2/28 16:19
|
||||
* @version: 1.0
|
||||
*/
|
||||
public interface SubjectDao extends JpaRepository<Subject, Long> {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.zhangmeng.online.exam.dao;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.User;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/2/28 16:03
|
||||
* @version: 1.0
|
||||
*/
|
||||
public interface UserDao extends JpaRepository<User, Long> {
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.zhangmeng.online.exam.entity;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
|
||||
/**
|
||||
*
|
||||
* @Description: 选项
|
||||
* @author zm
|
||||
* @date 2025/2/28 16:10
|
||||
* @version: 1.0
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Entity
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Table(name = "option")
|
||||
public class Option extends BaseEntity<Long> {
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
private Question question;
|
||||
|
||||
private String optionName;//选项A
|
||||
|
||||
private String optionContent;//选项内容
|
||||
|
||||
private Integer optionScore;//选项得分
|
||||
|
||||
private Integer optionOrder;//选项顺序
|
||||
|
||||
private Boolean isAnswer;//是否是正确答案
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package com.zhangmeng.online.exam.entity;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.ManyToMany;
|
||||
import javax.persistence.Table;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/2/28 14:46
|
||||
* @version: 1.0
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Entity
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Table(name = "permission")
|
||||
public class Permission extends BaseEntity<Long> {
|
||||
|
||||
|
||||
private String name;
|
||||
|
||||
private String icon;
|
||||
|
||||
private String url;
|
||||
|
||||
private String description;
|
||||
|
||||
private Integer sort;
|
||||
|
||||
@Column(name = "frontpath")
|
||||
private String frontpath;
|
||||
|
||||
@ManyToMany(mappedBy = "permissions")
|
||||
private Set<Role> roles = new HashSet<>();
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.zhangmeng.online.exam.entity;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.OneToMany;
|
||||
import javax.persistence.Table;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* description: 职业实体类
|
||||
* @author zm
|
||||
* @date 2025/2/28 16:24
|
||||
* @version: 1.0
|
||||
*/
|
||||
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Entity
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Table(name = "profession")
|
||||
public class Profession extends BaseEntity<Long> {
|
||||
|
||||
|
||||
@OneToMany(mappedBy = "profession")
|
||||
private List<Subject> subjects = new ArrayList<>();
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
package com.zhangmeng.online.exam.entity;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/2/28 16:06
|
||||
* @version: 1.0
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Entity
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Table(name = "question")
|
||||
public class Question extends BaseEntity<Long> {
|
||||
|
||||
public enum Type {
|
||||
SINGLE_CHOICE,//单选题
|
||||
MULTIPLE_CHOICE,//多选题
|
||||
JUDGMENT,//判断题
|
||||
SHORT_ANSWER,//简答题
|
||||
TRUE_OR_FALSE,//判断题
|
||||
NUMERICAL,//计算题
|
||||
}
|
||||
|
||||
private String name;
|
||||
|
||||
private Type type;
|
||||
|
||||
@OneToMany(mappedBy = "question")
|
||||
private List<Option> options = new ArrayList<>();
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
private Subject subject;
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package com.zhangmeng.online.exam.entity;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/2/28 14:45
|
||||
* @version: 1.0
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Entity
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Table(name = "role")
|
||||
public class Role extends BaseEntity<Long> {
|
||||
|
||||
private String name;
|
||||
|
||||
private String description;
|
||||
|
||||
@ManyToMany(mappedBy = "roles")
|
||||
private Set<User> users = new HashSet<>();
|
||||
|
||||
@ManyToMany(fetch = FetchType.LAZY)
|
||||
@JoinTable(name = "role_permission", joinColumns = @JoinColumn(name = "role_id"), inverseJoinColumns = @JoinColumn(name = "permission_id"))
|
||||
private Set<Permission> permissions = new HashSet<>();
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.zhangmeng.online.exam.entity;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* description: 学科
|
||||
* @author zm
|
||||
* @date 2025/2/28 16:18
|
||||
* @version: 1.0
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Entity
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Table(name = "subject")
|
||||
public class Subject extends BaseEntity<Long> {
|
||||
|
||||
private String name;//学科名称
|
||||
|
||||
private String code;//学科代码
|
||||
|
||||
private String description;//学科描述
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
private Profession profession;//职业
|
||||
|
||||
@OneToMany(mappedBy = "subject")
|
||||
private List<Question> questions = new ArrayList<>();//题目列表
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.zhangmeng.online.exam.entity;
|
||||
|
||||
import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/2/28 14:45
|
||||
* @version: 1.0
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Entity
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Table(name = "user")
|
||||
public class User extends BaseEntity<Long> {
|
||||
|
||||
private String username;
|
||||
|
||||
private String password;
|
||||
|
||||
private String email;
|
||||
|
||||
private String phone;
|
||||
|
||||
@ManyToMany(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
|
||||
@JoinTable(name = "user_role", joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
|
||||
private Set<Role> roles = new HashSet<>();
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue