我想从实体类中选择特定列并忽略方法中的其他列。为此,我不能使用 @JsonIgnore,因为在另一种方法中我想调用该实体类中可用的所有列。
@Entity
@Table(name="student")
public class StudentDO {
@Id
@Column(name="studentId")
private int studentId;
@Column(name="studentName")
private String studentName;
@JsonIgnore
@Column(name="studentPlace")
private String studentPlace;
@Column(name="studentstd")
private String studentstd;
现在我想要一个方法,该方法可以提供忽略 @JsonIgnore 列的数据,另一个方法可以提供所有四列,包括调用时带有 @JsonIgnore 注释的列。
你能帮我解决这个问题吗
最佳答案
这可以通过返回 ResultSet
的自定义实体管理器查询来实现。
从 SpringBoot 上下文中获取 EntityManager
。
@PersistenceContext
private EntityManager entityManager;
Query query = entityManager.createQuery("SELECT s.studentId, s.studentName FROM student s");
List<StudentDO[]> studentRows = query.getResultList();
对于每个 StudentDO,属性的顺序对应于 SELECT 参数的顺序。
对于不同的方法,可以编写不同的自定义查询。
关于java - 如何为不同的方法选择特定的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56161197/