我是一個新手休眠我希望你們可以幫我解決我的小問題。 我想讓一個值作爲一個值返回,而不是從數據庫返回一個List。我正在使用休眠模式,但我不知道該怎麼做,這是我到目前爲止:返回一個值,而不是表中的列表使用休眠
此主題:Hibernate Return integer value沒有真正幫助我,因爲我不使用會話和查詢。 uniqueResult()對我不起作用,因爲它不能識別uniqueResult()方法,您可以在下面的例子中看到我使用的庫/類/方法。
import java.sql.*;
import org.hibernate.*;
import org.hibernate.criterion.*;
import javax.persistence.Query;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
public class Persistence
{
public void RegisterWorkHours(TimeRegistration object)
{
EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory("timereg");
EntityManager em = emf.createEntityManager();
String q = "SELECT id FROM tbl_employee WHERE bsn = @bsn";
Query query = em.createQuery(q);
query.setParameter("@bsn", object.getEmployee().getBsn());
//And here I want to have a single value being returned as a value and not as a List.
em.getTransaction().begin();
em.persist(object);
em.getTransaction().commit();
em.close();
}
}
問題定義: 的問題是,我在我的Employee類及其auto_incremented定義ID。但是我沒有接受任何安裝程序,因爲我不希望用戶被迫輸入該用戶的唯一標識。但我確實希望能夠從員工表中獲取id,其中bsn等於對象的給定bsn值,以便我可以註冊某個員工(id)在某個項目(id)上工作的小時數。
聽起來像你的'bsn'值不是唯一的,這表明你需要重新訪問你的設計。你爲什麼不使用純粹的JPA? – Perception 2012-02-23 12:13:52