Технология: Hibernate 3.0
Предположим, у меня есть класс Entity
@Entity
@Table(name="tbl_companies")
public class Company
{
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
int id;
@Column(name="name")
String companyName;
@OneToMany(mappedBy = "company")
List<Employees> empList;
@OneToMany(mappedBy = "company")
List<Projects> projectList;
@OneToMany(mappedBy = "company")
List<Department> deptList;
@OneToMany(mappedBy = "company")
List<Branch> branchList;
}
В Entity Company, которая отображается в базу данных посредством аннотации hibernate, содержится список других связанных с ней объектов.Поскольку объекты этих сущностей, таких как Branch, Project, Employee, сами по себе являются тяжелыми объектами, это сделает объект Company очень тяжелым и содержит почти все данные в БД.Один из способов избежать этого - использовать ленивую загрузку.Другим подходом может быть использование List branchIdList, List projectIdList, который представляет собой список идентификаторов для объектов.Мой вопрос, какой подход является стандартной практикой и лучше использовать в такой ситуации.Лучше использовать такие факторы, как производительность в терминах памяти в основном, гибкость для программиста (первый - гибкий для программиста, а второй - меньше памяти).Другой вопрос, если я использую второй подход, что будет меняться в аннотации.Я сомневаюсь, что Hibernate поддерживает список идентификаторов или поддерживает только полноценные объекты.
Спасибо