0

私はこのコードを持っています

ArrayList<String> city = 'アニストン';

基準 crit = session.createCriteria(CandidateResumeInfo.class);
 crit.add(Restrictions.eq("resumeSearchable", 1));

今、私は以下の基準を追加したい

crit.add(Restrictions.in("cities", city));

しかし問題は、都市の列がCandidateResumeInfo.classCandidateInfo クラスにないことです。

上記の基準にこの基準を追加する方法CandidateInfo、上記の基準にクラスを追加する方法。

これら2つのテーブルを結合またはリンクする必要があると思いますが、エンティティクラスに変更はありますか?

これらは私の2つのクラスです

@実在物

@Table(name="候補者情報")

public class CandidateInfo 実装 java.io.Serializable {

    プライベート int id;
    プライベート文字列 firstName;
    プライベート文字列 lastName;
    プライベート ストリング シティ。
    プライベート文字列 stateProvince;
    プライベート文字列 zip;
    プライベート文字列の国。
    プライベート セット候補ビデオ = new HashSet();

    プライベート文字列の経験年数。
    プライベート文字列 loginName;
    プライベート文字列パスワード;
    プライベート文字列アドレス;
    プライベート文字列 emailAddress;
    プライベート int passwordResetQuestionId;
    プライベート文字列 passwordResetAnswer;
    プライベート文字列のミドルネーム;

    プライベート文字列 homeEveningPhone;
    プライベート文字列 workDayPhone;
    プライベート ブーリアン videoSubmited;
    プライベート ブール値の履歴書が送信されました。
    プライベート文字列の携帯電話。
    プライベート文字列の可用性 = null;
    プライベート文字列 workStatus=null;

    プライベート文字列の望ましい給与 = null;
    プライベート文字列 currentJobLevel=null;
    プライベート文字列 currentJobTitle=null;
    プライベート文字列 targetJobTitle=null;
    プライベート文字列 alternateTargetJobTitle1=null;
    プライベート文字列 alternateTargetJobTitle2=null;
    プライベート文字列 targetJobType=null;
    プライベート文字列 eventType=null;

    プライベート文字列 joinDate = null;
    プライベート文字列 lastLoginDate = null;

    //private SkillsBean skillInfo;
    プライベート セット スキル = new HashSet();
    プライベート セット候補再開 = 新しい HashSet();
    プライベート Set targetJobCategoriesId = new HashSet();
    プライベート Set targetJobLocationsId = new HashSet();


    public CandidateInfo() {
    }
    @Column(name="userid")
    public int getId() {
        this.id を返します。
    }

    @Column(name="ログイン名")
    public String getLoginName() {
        ログイン名を返します。
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }
    @Column(name="パスワード")
    public String getPassword() {
        パスワードを返します。
    }

    public void setPassword(文字列パスワード) {
        this.password = パスワード;
    }
    @Column(名前="アドレス")
    public String getAddress() {
        差出人住所;
    }

    public void setAddress(文字列アドレス) {
        this.address = アドレス;
    }


................................................................... ...................................

@実在物

@Table(name="candidateresumeinfo")

public class CandidateResumeInfo は Serializable を実装します{

    プライベート int 再開 ID;
    プライベート int 候補_userId;
    プライベート文字列の再開ファイルの場所。
    private int resumeSearchable;
    プライベート日付 lastUpdateDate;
    プライベート文字列の再開タイトル。
    プライベート文字列の履歴書。
    プライベート ストリング スキル;
    プライベート int rowCount;


    @Column(name="resumeSearchable")
    public int isResumeSearchable() {
        履歴書検索可能を返します。
    }
    public void setResumeSearchable(int resumeSearchable) {
        this.resumeSearchable = resumeSearchable;
    }
    @ID
    @GeneratedValue
    @Column(name="resumeid")
    public int getResumeId() {
        再開 ID を返します。
    }

    public void setResumeId(int resumeId) {
        this.resumeId = resumeId;
    }
    @Column(name="candidate_userid")
    public int getCandidate_userId() {
        候補者_ユーザーIDを返します。
    }
    public void setCandidate_userId(int 候補_userId) {
        this.candidate_userId = 候補者_userId;
    }
    @Column(name="resumelocation")
    public String getResumeFileLocation() {
        resumeFileLocation を返します。
    }

    public void setResumeFileLocation(String resumeFileLocation) {
        this.resumeFileLocation = resumeFileLocation;
    }

    @Column(name="履歴書")
    public String getResumeTitle() {
        再開タイトルを返します。
    }
    public void setResumeTitle(String resumeTitle) {
        this.resumeTitle = resumeTitle;
    }
    @Column(name="履歴書")
    public String getResumeText() {
        再開テキストを返します。
    }
    public void setResumeText(String resumeText) {
        this.resumeText = resumeText;
    }

    public void setLastUpdateDate(Date lastUpdateDate) {
        this.lastUpdateDate = lastUpdateDate;
    }
    @Column(name="lastUpdateDate")
    公開日 getLastUpdateDate() {
        lastUpdateDate を返します。
    }
    @Column(name="スキル")
    public String getSkills() {
        スキルを返します。
    }

    public void setSkills(文字列スキル) {
        this.skills = スキル;
    }
    @トランジエント
    public int getRowCount() {
        行数を返します。
    }

    public void setRowCount(int カウント) {
        this.rowCount = カウント;
    }
4

2 に答える 2

1

次のような関係を追加する必要があります

@ManyToOne(cascade = CascadeType.ALL)
    public CandidateResumeInfo getCandidateResumeInfo () {
    return this.candidateResumeInfo ;
}
于 2011-05-28T08:02:00.260 に答える