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

标签 java spring hibernate

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

相关文章:

java - 如何在eclipse kepler中安装spring框架?

Hibernate @ManyToMany joinTable - OrderBy 使用连接表的字段

javascript - 递归最长公共(public)子序列循环还是永远持续?

java - 用java设置系统时间的毫秒数

spring - 使用 Redis 修改 Spring session 中的前缀键

java - 部署到 JBoss Application Server 7.1 时出现 HikariConnectionProvider ClassNotFoundException

java - hibernate - 错误 : Data truncation: Incorrect datetime value

java - 为什么 JUnit 在模拟返回 CompletableFuture 对象的方法调用时未完成

java - 防止 FlowLayout 垂直居中

java - 刚接触 Maven 我的 Spring jar 在哪里