Java 使用构造函数是否会导致JPA或Hibernate查询影响性能?

Java 使用构造函数是否会导致JPA或Hibernate查询影响性能?,java,mysql,performance,hibernate,jpa,Java,Mysql,Performance,Hibernate,Jpa,我的Java DAO类中有以下查询: Query query = session.createQuery( "select new Question(q.qid, q.qtype) from Question q where q.qlang=:lang " ); 在hibernate查询中使用新构造函数会影响性能吗?它以什么方式受到影响 无论是上面的java代码还是转换成的SQL查询,还是将SQL结果组装成问题对象,它是否会提高或降低应用程序的整体性能 如果您谈论的是构造函数的结果,那

我的Java DAO类中有以下查询:

Query query = session.createQuery(
    "select new Question(q.qid, q.qtype) from Question q where q.qlang=:lang "
);
  • 在hibernate查询中使用新构造函数会影响性能吗?它以什么方式受到影响
  • 无论是上面的java代码还是转换成的SQL查询,还是将SQL结果组装成
    问题
    对象,它是否会提高或降低应用程序的整体性能

  • 如果您谈论的是构造函数的结果,那么在担心性能之前,您应该问自己一个不同的问题

    JDBC
    ResultSet
    是否适合我的数据访问层、服务 层和用户界面

    对于大多数应用程序,答案是否定的。表格JDBC
    ResultSet
    不适合用OOP语言开发的应用程序,因为即使将结果推送到客户端(例如JSON),也需要对象的图形

    为此,您需要DTO或实体

    • 性能主要取决于SQL查询的效率和获取的数据量。与将数据投影到结果集这一事实相比,问题更多
    • 用于写入数据的实体,因为您可以从自动写入中受益

    什么是参考类型?这是构造函数的结果吗?什么是“新对象类型”?@Vladmichalcea-很抱歉混淆了。我已经更新了。我已经回答了。@Vladmichalcea非常感谢。@Vladmichalcea当然,我会处理的。