微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

多对一数据表Spring MVC使用Ajax休眠

如何解决多对一数据表Spring MVC使用Ajax休眠

我试图在Spring中显示带有dataTable的模型,但是如何从@ManyToOne关系中获取值?下面是我的代码

  • 模型文件-我想获取 来自用户模型的“私人长用户ID”和来自角色模型的“私人长角色ID”,但我不知道如何解决这个问题
package com.hospital.model;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnore;

@Entity(name="users_roles")
public class Users_Roles implements Serializable{
   
   private static final long serialVersionUID = -1L;
   
   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   @Column(name = "users_roles_id",updatable = false,nullable = false)
   private long users_roles_id;
   
   @JsonIgnore
   @ManyToOne(cascade = CascadeType.ALL)
   @JoinColumn(name = "users_id",nullable = false,insertable = false,referencedColumnName = "users_id")
   private Users users; 
   
   @JsonIgnore
   @ManyToOne(cascade = CascadeType.ALL)
   @JoinColumn(name = "roles_id",referencedColumnName = "roles_id")
   private Role roles;
   
   private boolean status;
   
   public Users_Roles() {
        
   }

   public long getUsers_roles_id() {
       return users_roles_id;
   }

   public void setUsers_roles_id(long users_roles_id) {
       this.users_roles_id = users_roles_id;
   }

   public Users getUsers() {
       return users;
   }

   public void setUsers(Users users) {
       this.users = users;
   }

   public Role getRoles() {
       return roles;
   }

   public void setRoles(Role roles) {
       this.roles = roles;
   }

   public boolean isstatus() {
       return status;
   }

   public void setStatus(boolean status) {
       this.status = status;
   }
   
}
  • 索引文件-错误出现在DataTable上,调用ajax json [i] [1] = json [i] .usersId;和json [i] [2] = json [i] .roles_id;
<!DOCTYPE html>
<html xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
   layout:decorate="~{layouts/main}">
<head>
<Meta charset="ISO-8859-1">
<title>Role Assign to User</title>
<link rel="stylesheet" type="text/css" href="/static/assets/css/jquery.dataTables.min.css"> 
<link rel="stylesheet" type="text/css" href="/static/assets/css/dataTables.bootstrap4.min.css">
</head>
<body>
   <div layout:fragment="content" style="margin-right: 10px; margin-left: 10px;">
       <div class="row" style="margin-top: 20px;">
           <div class="col-sm-4 col-5">
               <h4 class="page-title">Account</h4>
           </div>
                       <div class="col-sm-8 col-9 text-right m-b-20">
               <a th:href="${'/admin/users_roles/create'}"
                   class="btn btn btn-primary btn-rounded float-right"><i
                   class="fa fa-plus"></i> Add New</a>
           </div>
       </div>
       <div class="row">
           <div class="col-md-12">
               <div class="table-responsive">
                   <table
                       class="table table-border table-striped custom-table mb-0" id="dataTable">
                       <thead>
                           <tr>
                               <th>ID</th>
                               <th>Account ID</th>
                               <th>Role ID</th>
                               <th>Status</th>
                               <th></th>
                           </tr>
                       </thead>
                       <tbody>
                           <tr>
                               <td></td>
                               <td></td>
                               <td></td>
                               <td></td>
                               <td></td>
                                    
                           </tr>
                       </tbody>
                   </table>
               </div>
           </div>
       </div>
           <!--    disable confirm modal -->
       <div class="modal fade" id="disableConfirm">
           <div class="modal-dialog">
               <div class="modal-content">
                   <div class="modal-header">
                       <a href="#" class="close" data-dismiss="modal">&times;</a>
                       <h4>disable Record</h4>
                   </div>
                   <div class="modal-body">
                       <h4>Are you sure you want to disable this?</h4>
                   </div>
                   <div class="modal-footer">
                       <a href="#" class="btn btn-primary" data-dismiss="modal">Cancel</a>
                       <a href="#" class="btn btn-danger" onclick="Confirmdisable()">Confirm</a>
                   </div>
               </div>
           </div>
       </div>

<script type="text/javascript"> 
           $(document).ready(loaddata);
           function loaddata() {
               $("#dataTable")
                       .DataTable(
                               {

                                   "ajax" : {
                                       "url" : "/admin/users_roles/list","type" : "GET","datatype" : "json","dataSrc" : function(json) {
                                           for (var i = 0; i < json.length; i++) {
                                               json[i][0] = json[i].users_roles_id;
                                               json[i][1] = json[i].usersId;
                                               json[i][2] = json[i].roles_id;
                                               json[i][3] = json[i].status == 1 ? '<span class="custom-badge status-green">Active</span>' : '<span class="custom-badge status-red">Inactive</span>';
                                               json[i][4] = "<a href='/admin/users_roles/update/"+json[i].users_roles_id+"' class='btn btn-primary btn-outline'><i class='fa fa-pencil'></i></a>"
                                                       + " "
                                                       + "<a href='#' onclick='disableRecord("+ json[i].users_roles_id+")' class='btn btn-danger btn-outline'><i class='fa fa-trash'></i></a>";
                                           }
                                           return json;
                                       }
                                   },"language" : {
                                       "emptyTable" : "No data found,please add new"
                                   }
                               });
           }
           //disable
           var id;

           function disableRecord(usersId) {
               id = usersId;
               $("#disableConfirm").modal("show");
           }

           function Confirmdisable() {
               $.ajax({
                   type : "POST",url : "/admin/users/disable?users_roles_id=" + id,success : function(result) {
                       window.location.href = "/admin/users_roles/index";
                       $("#disableConfirm").modal("hide");
                   }
               })
           }
       </script>
   </div>
   
</body>
</html>

还是我有办法获取模型名称而不是ID?谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。