• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
  • Devaka Cooray
Sheriffs:
  • Jeanne Boyarsky
  • Knute Snortum
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Ganesh Patekar
  • Stephan van Hulst
  • Pete Letkeman
  • Carey Brown
Bartenders:
  • Tim Holloway
  • Ron McLeod
  • Vijitha Kumara

Difference between DAO and hibernateDAO file?  RSS feed

 
Ranch Hand
Posts: 42
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I have one employee table but I see two files, one is employeeDAO.java and other is employeeHibernateDAO.java. And the employeHibernateDAO is defined like this
public class employeeHibernateDao extends AbstractHibernateDao<employee> implements employeeDao {

under package

+com.company.emp.dao
+employeeDAO.java
+com.company.emp.hibernate.dao
+employeeHibernateDAO.java
......
+mappingfiles
+employee.hbm.xml //And only one mapping file(obviously) to connect to that table.

My question: What is the difference between DAO and HibernateDAO file?
also ..........AbstractHibernateDao<employee>..... now what is this employee class again... is it the DTO?
What does DTO do?
 
Author
Rancher
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It looks like employeeDao is an interface--so the difference is that one is an interface and one is an implementation. It's not a DTO, it's a DAO, like the name implies: http://www.coderanch.com/t/99834/OO-Patterns-UML-Refactoring/what-difference-between-DTO-DAO
 
M sallu
Ranch Hand
Posts: 42
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes employeeDAO is interface and employeeHibernateDAO implements employeeDAO
and employee is a class where all the elements are defined :: String employeename; calendar StartTime; etc, etc...and their getters and setters.

Now how are transactions taking place? How is the employee.hbm.xml mapping file used, etc?

Lets say I need to retrieve the value employeename from table

Do I have new constructor employeeDAO employeedao = new employeeDAO;

or

eployeeHibernateDAO empHibdao = new employeeHibernateDAO;

I am not sure whether to call the interface or implementation...I am confused.
 
David Newton
Author
Rancher
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Instantiating interfaces isn't possible. A DAO instance should be declared as the interface, and an implementation should be instantiated (here, the Hibernate one).

I'm not sure what you're asking when you talk about the Hibernate mapping file and transactions; the mapping file is used during Hibernate initialization, transactions are handled by you, or by Spring, or by the container, or...
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!