Можем ли мы использовать аннотацию JPA для создания модели домена (классов, отношений и наследия) вместо конфигурации hbm, а затем использовать Sessionfactory для выполнения операций CRUD. Я имею в виду, что можно использовать аннотацию без использования persistence.xml и Entitymanager? Мне задают этот вопрос, потому что в hibernate doc всегда описывают аннотацию JPA к persistence.xmlHibernate 5 с аннотацией
0
A
ответ
2
Да можно использовать аннотацию без использования persistence.xml и менеджера сущностей.
Вы можете достичь того же, используя авангардные подход с использованием:
- SessionFactory
- Сделка
- Session
Для получения дополнительной информации, пожалуйста, посетите этот пост: - http://techpost360.blogspot.se/2015/12/hibernate-5-maven-example.html
package com.hibernate.tutorial.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "employee")
public class Employee {
@Id
@Column(name = "id")
Long id;
@Column(name="employee_name")
String employeeName;
@Column(name="employee_address")
String employeeAddress;
public Employee(Long id, String employeeName, String employeeAddress) {
this.id = id;
this.employeeName = employeeName;
this.employeeAddress = employeeAddress;
}
public Employee() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getEmployeeName() {
return employeeName;
}
public void setEmployeeName(String employeeName) {
this.employeeName = employeeName;
}
public String getEmployeeAddress() {
return employeeAddress;
}
public void setEmployeeAddress(String employeeAddress) {
this.employeeAddress = employeeAddress;
}
}
Основной класс для вставки записи в таблицу Employee
package com.hibernate.tutorial.mainclass;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.hibernate.tutorial.entity.Employee;
public class Hibernate5InsertTest {
public static void main(String[] args) {
SessionFactory sessionFactory;
sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
Employee emp = new Employee();
emp.setId(new Long(1));
emp.setEmployeeName("Rahul Wagh");
emp.setEmployeeAddress("Indore, India");
session.save(emp);
tx.commit();
session.close();
}
}
Я надеюсь, что этот пример решает вашу проблему
Смежные вопросы
- 1. Первый Hibernate проект с аннотацией
- 2. Возвращаемый объект Hibernate с аннотацией
- 3. Как Hibernate сортирует коллекцию с аннотацией @OrderColumn?
- 4. Hibernate Наследование - Реферирование объект с аннотацией @MappedSuperclass
- 5. Movies2actors не отображается - Hibernate с аннотацией
- 6. Hibernate 5 id уникальность
- 7. Дженерик с аннотацией аннотированных аннотацией
- 8. Разница между файлом сопоставления Hibernate и аннотацией
- 9. Весна с аннотацией на гибернате
- 10. Весна 3.0 с Hibernate 3.2 Пример MVC с аннотацией
- 11. Hibernate 5 поддерживает Hibernate Spatial?
- 12. Интеграция аутентификации Spring Security 3 с аннотацией Hibernate 3 (JPA)
- 13. Как использовать Hibernate с аннотацией для Null Float Field
- 14. Можно ли переименовать или переместить класс с аннотацией hibernate @Entity?
- 15. Возможно ли генерировать hbm xmls из классов с аннотацией Hibernate?
- 16. Hibernate 5 с Spring JTA
- 17. Route-Model-Binding в Laravel 5 с аннотацией
- 18. Двойное сообщение об ошибке с аннотацией удаленных данных mvc 5
- 19. Hibernate Пространственное 5 - GeometryType
- 20. Hibernate 5 ImplicitNamingStrategy
- 21. Hibernate 5 - createCriteria осуждается
- 22. EventListener Hibernate 5
- 23. Hibernate 5 "main" java.lang.NullPointerException
- 24. Hibernate 5: Вставка данных
- 25. hibernate-annotations with hibernate-core 5
- 26. Hibernate Validator 5 совместимость версии с Hibernate 3.5
- 27. Ошибка с пользовательской аннотацией
- 28. Путаница с аннотацией @Override
- 29. Джерси кеш с аннотацией
- 30. Spring Инъекции с аннотацией
Да, это возможно, и даже рекомендуется. Я бы пошел дальше и сорвал собственный API Session/SessionFactory. Почему вы не хотите использовать стандартный API JPA? –
Спасибо за ваш ответ. У меня есть старое приложение, и я хотел бы изменить hbm на аннотации. Мне не нравится изменять файл cfg и слой DAO. – Yosr
Хотя это не спящий режим 5, и он довольно старый, вы можете найти некоторые JPA-аннотированные и используемые SessionFactory примеры [здесь] (https://github.com/bhdrkn/Hibernate-Examples). Надеюсь, это будет полезно для вас. – bhdrkn