Как это называется и как решить мою следующую проблему в API. Я должен возвращать тот же объект с разными представлениями. Некоторые данные не должны возвращаться пользователю. Вот пример: Родитель:Hibernate - как загрузить другой вид того же объекта
public class OrginalObject{
private int id;
private String name;
private String surname;
private int age;
private String school;
private String secret;
private Address Address;
ребенок:
public class Address{
private int id;
private String street;
private String zipCode;
private String Country;
Если я хочу, чтобы загрузить список полных объектов я бы назвал:
session.createCriteria(OrginalObject.class).list();
1.) Но если Дон» я хочу, чтобы кто-то знал мою секретную собственность, мне нужно скрыть это. Но я не знаю, как назвать это из базы данных так, как это будет иметь любое другое свойство. Что-то вроде:
session.createCriteria(OrginalObjectPublic.class).list();
2.) Также у меня есть возможность загрузить только «важные» данные. Это означает только свойства id, name, school
.
session.createCriteria(OrginalObjectImportant.class).list();
Есть ли способ сделать адаптер/«пользовательский вид», чтобы напрямую загрузить его из базы данных? Я знаю, что могу написать чистый sql, но я бы хотел использовать его на объектах с 20 + свойствами, которые имеют вложенные списки/объекты.
3.) Также как использовать это преобразование для загрузки только нескольких свойств вложенного объекта с объектами оригинала. Пример JSON (только идентификатор, название школы от OrginalOBject и ид, улица из Адрес:
{
"id": 1,
"name": "testname",
"school": "testschool",
"Address": {
{
"id": 33,
"street": "testStreet 33"
}
}
4.) также, как использовать его на вложенных списках, если адрес будет массив:
public class OrginalObject{
...
private List<Address> AddressList;
Спасибо. Мне просто нужно это для чтения. Я не знал, что у меня могут быть сущности с одинаковыми именами. Попробуй – AndroidTank