簡體   English   中英

Hibernate 查詢語言:為我的查詢獲取 SQL 語法錯誤

[英]Hibernate Query Language: Getting a SQL Syntax Error for my Query

我已經檢查了許多相關問題,但那里的答案還沒有解決我的問題。

我有通過 Hibernate 映射的實體UserCharacter

@Entity
@Table(name = "user", uniqueConstraints = @UniqueConstraint(columnNames = { "username" }))
public class User {
    @Id
    @NotEmpty
    @Column(name = "username")
    private String username;

    ...
}

@Entity
@Table(name = "character", uniqueConstraints = @UniqueConstraint(columnNames = { "charId" }))
public class Character {
    ...

    @NotEmpty
    @ManyToOne
    @JoinColumn(name = "username", referencedColumnName = "username")
    private User user;

    ...
}

我想 select 所有具有特定用戶名的字符,所以我使用的查詢如下所示:

private final static String RETRIEVE_CHARACTERS_FOR_USER = "select c from Character as c inner join User as u where u.username = :paramUsername";

我的代碼如下所示:

result = session.createQuery(RETRIEVE_CHARACTERS_FOR_USER, Character.class)
                .setParameter(PARAM_USERNAME, user.getUsername()).getResultList();

我還嘗試刪除外鍵,使用String username而不是User user ,只查詢c.username ,所以我什至不確定問題是否與 Hibernate 相關......

我希望你能幫幫我: :)

這應該有效:

private final static String RETRIEVE_CHARACTERS_FOR_USER = "select c from Character c where c.user.username = :paramUsername";

好的,實際上'character'關鍵字確實有問題......將表名更改為'charac'並且效果很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM