Я новичок в спящем режиме. Надеюсь, вы, ребята, сможете помочь мне с моей маленькой проблемой.Я хочу, чтобы одно значение возвращалось как значение, а не как список из базы данных.Я использую hibernate для этого, но я не знаю, как это сделать, это то, что я получил до сих пор:
эта тема: Hibernate Возвращает целочисленное значение мне не оченьпоскольку я не использую сеансы, а query.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.Но я не получил никаких настроек, потому что я не хочу, чтобы пользователь был вынужден вводить уникальный идентификатор этого пользователя.Но я хочу иметь возможность получить идентификатор из таблицы сотрудников, где bsn равно заданному значению bsn из объекта, чтобы я мог зарегистрировать количество часов, в течение которых определенный сотрудник (идентификатор) работал над определенным проектом (идентификатор).