我正在寫一個用於培訓目的的小工具。
主要範圍是瞭解如何使用持久數據而不使用ORM工具。
所以,有一個小DB與表:使用JDBC的ORM多對一和多對多關係DAO
users(id, login, password, group_id)
groups(id, name, description)
roles(id, name, description)
// for many-to-many relationship between groups and roles.
groupsroles(group_id, role_id)
所以,我實現了一個DAO模式,用3個實體:用戶,角色,組。
問題是:用關係來實現工作的最佳方式是什麼?
如何共享UserDAO,GroupDAO,RoleDAO之間使用數據庫事務的相同連接?
我喜歡你的答案。你已經證明java中的持久性可以少至25行。 – 2011-05-29 14:27:27
純粹的持久性部分可以降低到6,因爲客戶端也可以直接使用UserDAO,因爲它本身是完全功能的。說實話,對於數據源,您需要在try-finally或try-with-resources(JDK 7)塊中關閉連接,這意味着需要增加兩行。注入entityManager而不是數據源時,不需要關閉,entityManager也可以執行純SQL。 – 2011-05-29 15:20:44