1

1対多のマッピングの概念実証を行っていますが、成功していません。私のスキーマは次のとおりです: User -----> UseRole

import static javax.persistence.GenerationType.IDENTITY;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="UserRole")
public class UserRole {

    private int userRoleId;
    private String userRoleName;

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "UserRoleId", unique = true, nullable = false)
    public int getUserRoleId() {
        return userRoleId;
    }

    public void setUserRoleId(int userRoleId) {
        this.userRoleId = userRoleId;
    }

    @Column(name = "UserRoleName", unique = true, nullable = false)
    public String getUserRoleName() {
        return userRoleName;
    }

    public void setUserRoleName(String userRoleName) {
        this.userRoleName = userRoleName;
    }

}

ここでは User クラスの一部

    @Entity
    @Table(name="Users")
    public class User {
    private int userId;
    private String firstName;
    private String lastName;
    private String userName;
    private String password;
    private String phone;
    private String email;
    private UserRole userRole;
    private List<Meeting> meetings;
    private List<MeetingInvitation> meetingInvitationsSend;
    private List<MeetingInvitation> meetingInvitationsReceived;

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "UserId", unique = true, nullable = false)
    public int getUserId() {
        return userId;
    }
         .... 

    @ManyToOne(targetEntity=UserRole.class)
    @JoinColumn (name="userRole")
    public UserRole getUserRole() {
        return userRole;
    }

    public void setUserRole(UserRole userRole) {
        this.userRole = userRole;
    }

}

そして私はこのエラーを取得しています

ご覧のとおり、ユーザー Role クラスに @Entity アノテーションを追加しました

4

1 に答える 1

5

おそらく、休止状態の構成ファイルでクラスを宣言するのを忘れただけです。

<mapping class="com.foo.bar.UserRole"/>

targetEntity=UserRole.classまた、ゲッターが を返すため、 は不要であることに注意してくださいUserRole。Hibernate は、getter の戻り値の型からターゲット エンティティを推測します。

于 2012-06-04T10:45:22.607 に答える