-2

休止状態のアプリを作成していますが、.dtb 経由でデータを保存できますhibernate。それにもかかわらず、データベースからデータを取得する方法を理解できませんでした。データを保存する方法に似た方法で、それを行う方法を誰か教えてもらえますか? 私はたくさんグーグルで検索してきましたが、すべて、私のやり方のように見えるものは何も見つかりませんでした...たとえば、彼らは多くの注釈などを使用しました。休止状態のアプリケーションを作成する方法は良い方法ではありません。もしそうなら、plsはコメントに書いてください。

私の一部UserDAOImpl

UserDAO user;

public UserDAOImpl() {
    user = new UserDAO();
}

public void createUser(int id, String Username, String CreatedBy) {
    user.setUserId(id);
    user.setUsername(Username);
    user.setCreatedBy(CreatedBy);
    user.setCreatedDate(new Date());
}

public void saveUser() {
   Session session = HibernateUtil.getSessionFactory().openSession();
   session.beginTransaction();      
   session.save(user);
   // save the data to the database
   session.getTransaction().commit();
   // close the connection
   session.disconnect();
}


public void findUser() {
     // ????????????
}

ユーザーDAO:

public class UserDAO implements java.io.Serializable {

    /**
     * generated serialVersionUID
     */
    private static final long serialVersionUID = -6440259681541809279L;

    private int userId;
    private String username;
    private String createdBy;
    private Date createdDate;

    public UserDAO() {
    }

    public UserDAO(int userId, String username, String createdBy,
            Date createdDate) {
        this.userId = userId;
        this.username = username;
        this.createdBy = createdBy;
        this.createdDate = createdDate;
    }

    public int getUserId() {
        return this.userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return this.username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getCreatedBy() {
        return this.createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedDate() {
        return this.createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    } 
}
4

2 に答える 2

1

テーブル名が User であるとすると、入力 userId の User データを取得するサンプル コードは次のとおりです。

public User findUserById(int userId) {
   Session session = HibernateUtil.getSessionFactory().openSession();
   String queryString = "from User where userId = :userId";  
   Query query = session.createQuery(queryString);  
   query.setInteger("userId", userId);  
   Object queryResult = query.uniqueResult();  
   UserDAO user = (UserDAO)queryResult;
}
于 2013-05-04T15:02:26.433 に答える
0

最後に、SOの別の投稿で答えを見つけました。

// finds user by ID
public UserDAO findUserById(int userId) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    session = HibernateUtil.getSessionFactory().openSession();
    UserDAO userDAO = (UserDAO) session.get(UserDAO.class, userId);
    session.disconnect();
    return userDAO;
}
于 2013-05-04T15:26:06.640 に答える