第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

我怎樣才能強(qiáng)制使用給定的表名來連接?

我怎樣才能強(qiáng)制使用給定的表名來連接?

慕斯709654 2023-04-13 14:06:37
我正在使用 Spring 數(shù)據(jù) JPA 并正在建立我的第一個(gè) ManyToMany 關(guān)系。我將第一個(gè)對(duì)象“用戶”定義為:import javax.persistence.*;import java.util.Set;@Entity@Table(name = "SMX0_PAR_USER", schema = "SMX0_INPUT_DAY")public class User {    @Id    private String userID;    private String username;    @ManyToMany    @JoinTable(        name = "SMX0_PAR_USER_ROLE",        schema = "SMX0_INPUT_DAY",        joinColumns = @JoinColumn(name = "USER_ID", referencedColumnName = "userID"),        inverseJoinColumns = @JoinColumn(name = "ROLE_ID", referencedColumnName = "roleID")    )    private Set<Role> roleSet;    protected User(){    }    public User(String userID, String username){        this.userID = userID;        this.username = username;    }第二個(gè)對(duì)象“角色”定義為:import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.ManyToMany;import javax.persistence.Table;import java.util.Set;@Entity@Table(name = "SMX0_PAR_ROLE", schema = "SMX0_INPUT_DAY")public class Role {    @Id    private int roleID;    private String rolename;    @ManyToMany(mappedBy = "roleSet")    private Set<User> userSet;    protected Role(){    }    public Role(int roleID, String role){        this.roleID = roleID;        this.rolename = role;    }這兩個(gè)類中的所有字段都有 getter 和 setter。在沒有與角色的多對(duì)多關(guān)系的情況下獲取用戶非常有效。當(dāng)嘗試訪問其中包含以下 thymeleaf 代碼的頁(yè)面時(shí): <tr th:each="user : ${users}">     <td th:text="${user.getUserID()}">user ID</td>     <td th:text="${user.getUsername()}">username</td>     <td><span th:each="role : ${user.getRoleSet()}">         <span th:text="${role.getRolename()}">rolename</span>     </span></td></tr>這里發(fā)生了什么,當(dāng)我明確地將連接表名稱設(shè)置為其他名稱時(shí),為什么會(huì)引用“ROLESET0_”之類的內(nèi)容?我怎樣才能強(qiáng)制使用我已經(jīng)給出的表名?
查看完整描述

2 回答

?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

ROLESET0_是 hibernate 在它生成的查詢中分配的別名。spring.jpa.show-sql=true如果您設(shè)置查看 hibernate 正在生成的完整查詢,可能會(huì)有所幫助。您還可以設(shè)置spring.jpa.properties.hibernate.format_sql=true以使其更具可讀性。



查看完整回答
反對(duì) 回復(fù) 2023-04-13
?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊

@Column (name = "YourColumnName")嘗試為兩個(gè)類中的所有字段添加注釋。


此外,referencedColumnName參數(shù)應(yīng)該是該外鍵列引用的列的名稱。


    public class User {

       @Id

       @Column(name = "YourColumnName")

       private int roleID;

       @Column(name = "YourColumnName")

       private String rolename;


       @ManyToMany

        @JoinTable(

        name = "SMX0_PAR_USER_ROLE",

        schema = "SMX0_INPUT_DAY",

        joinColumns = @JoinColumn(name = "USER_ID", referencedColumnName = "YourColumnName"),

        inverseJoinColumns = @JoinColumn(name = "ROLE_ID", referencedColumnName ="YourColumnName"))

        .....


        }


   public class Role {


       @Id

       @Column(name = "YourColumnName")

       private int roleID;

       @Column(name = "YourColumnName")

       private String rolename;

       .......


       }


查看完整回答
反對(duì) 回復(fù) 2023-04-13
  • 2 回答
  • 0 關(guān)注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)