我有一个实体类:
@Entity
@Table(name = "MyTasks", uniqueConstraints = {
@UniqueConstraint(columnNames = {"id"})
public class MyTasks {
@Id
@Column(name = "id")
private Integer id;
@Column(name = "task_name")
private String task_name;
@Column(name = "task_data")
private String task_data;
}
假设,我通过调用 new MyTasks(); 获得了一个实体的实例; 如何获取该实体类的所有列名称,例如数组 String[] 中的列名称?
最佳答案
使用反射并传递您想要列的方法名称。例如:
ArrayList<String> columnNames = new ArrayList<>();
Method[] methods = someObjectOrClass.getMethods();
for (Method method : methods) {
// get the @Column annotation for the class
Column col = method.getAnnotation(Column.class);
if (col != null) {
columnNames.add(method.getAnnotation(Column.class).name());
}
}
columnNames.toArray();
关于java - 如何在 Java/Hibernate 中获取实体类的列名称字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59972527/