如何为不同的方法选择特定的列?

我想从实体类中选择特定列并忽略方法中的其他列。为此我不能使用 @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 注释的列。


你能帮我解决这个问题吗


皈依舞
浏览 117回答 2
2回答

BIG阳

这可以通过返回 的自定义实体管理器查询来实现ResultSet。EntityManager从 SpringBoot 上下文中获取。@PersistenceContextprivate EntityManager entityManager;Query query = entityManager.createQuery("SELECT s.studentId, s.studentName FROM student s");List<StudentDO[]> studentRows = query.getResultList();对于每个 StudentDO,属性的顺序对应于 SELECT 参数顺序。对于不同的方法,可以编写不同的自定义查询。

慕妹3242003

你不能这样做,除非你使用特定的 hql 或 spring 数据存储库,比如:findStudentNameAndStudentstdBysStudentId(int&nbsp;studentId)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java