В моей базе данных Oracle есть таблица CompanyList:
CMP_ID INTEGER -- ID of company
CMP_NAME VARCHAR2 -- name of company
USR_ID INTEGER -- Foreign key to the USERS table
У меня все приложение Spring 3 MVC сконфигурировано с использованием аннотаций, а также мои POJO, мои объекты DAO (CompanyDao), использующие hibernate для извлечения дляПример списка компаний.
CompanyDao:
@Transactional
public Set<Company> findAllCompanys() throws DataAccessException {
return findAllCompanies(-1, -1);
}
@SuppressWarnings("unchecked")
@Transactional
public Set<Company> findAllCompanies(int startResult, int maxRows) throws DataAccessException {
Query query = createNamedQuery("findAllCompanies", startResult, maxRows);
return new LinkedHashSet<Company>(query.getResultList());
}
И домен моей компании:
@Entity
@NamedQueries( {
@NamedQuery(name = "findAllCompanies", query = "select myCompany from Company myCompany")})
...
public class Company implements Serializable {
...
Затем я настраиваю Spring Security, поэтому все мои страницы требуют идентификации.
Каков наилучший способ фильтрации строк, возвращаемых CompanyDao, с использованием идентификатора пользователя текущего сеанса пользователя, вошедшего в систему?