Im используя следующий код, чтобы получить данные из класса JPAраспечатывать отдельные поля из ToString()
factory = Persistence.createEntityManagerFactory("abc");
EntityManager entityManager = factory.createEntityManager();
classList.add("pack.Person");
for (Object classOjc : classList) {
String className = classOjc.toString();
Query query = entityManager.createQuery("SELECT p FROM " + className + " p");
@SuppressWarnings("rawtypes")
List resultList = query.getResultList();
System.out.println(resultList.size());
for (Object result : resultList) {
System.out.println(result.toString());
}
}
}
Person [firstName=firstName 1, lastName=lastName 1, bigDecimal=0, myDate=Wed Sep 16 06:42:18 IST 1998],
Person [firstName=firstName 2, lastName=lastName 2, bigDecimal=0, myDate=Sun May 19 13:12:51 IDT 1957],
Person [firstName=firstName 3, lastName=lastName 3, bigDecimal=0, myDate=Fri Jun 03 05:09:20 IDT 1949],
класса является
@Entity
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private String firstName;
private String lastName;
@Override
public String toString() {
return "Person [firstName=" + firstName + ", lastName=" + lastName +
"]";
....
моим вопрос предположит, что результат переопределения как следующее (укажите все атрибут и имя класса), есть способ
Поскольку я переопределяю toString() класса человека, печать выглядит следующим образом, но мой вопрос есть способ печати, например, только имена полей или только значения (предположим, что я не могу изменить строку в строке, и она должна быть одинаковой для каждого класса) проблема в том, что я могу получить любой класс, так что Я могу привести результат к человеку, например,
Если вы не знаете, что такое входящий класс, и вы не хотите бросать, то единственным средством обращения является отражение. –
Что вы пытаетесь спросить? В предложении, которое начинается «Мой вопрос ...», никогда не возникает вопрос. –