sql >> Databáze >  >> RDS >> Sqlserver

Potřebuji objekt služby?

Největší důvody, proč se přikláním k tomu, abychom měli vrstvu služeb, jsou z následujících dvou důvodů...

  1. Označení metod jako @Transactional, takže všechny požadavky DAO v rámci této metody proběhnou v jediné transakci.

  2. Mohu zvýšit oddělení zájmu od DAO a uživatelských rolí. Můžu označit metody jako vyžadující určité uživatelské role a jako takové to opravdu dobře sedí na Spring Security.

Můžete jednoduše zavolat DAO z ovladače, ale zůstanete uvízlí, pokud chcete později rozšířit. Chcete-li získat připojení, můžete použít označení služby jako @Transactional a DAO jako @Repository a Spring za vás obstará získání objektu relace a injekci atd.

Mám tendenci (možná nesprávně) uvažovat o vrstvě služeb jako o fasádě, ke které se přistupuje, ať už je to z webové služby nebo řadiče nebo čehokoli, udržuje oddělení.



  1. Jak globálně předefinovat nextval v PostgreSQL?

  2. Odebrání množství z více řádků v databázi

  3. CREATE SCHEMA IF NOT EXISTS vyvolá chybu duplicitního klíče

  4. Jak najít řazení v SQL Server (T-SQL)