spring - 我如何让 spring 使用 postgresql 识别第一个大写字母

标签 spring postgresql hibernate jpa

我有一个问题,我该怎么做才能在 Spring 用第一个大写字母识别我的表,它是用 postgresql 制作的

@Entity
@Table(name="System_user") 

public class Dashboard { 

    @Id
    @Column(name = "username")
    String username;

get..
set...
}

它会产生一个错误,我将其更改为如下所示

@Table("\"System_user\"")

可是他还是不认识我

最佳答案

正如我们在评论中所讨论的,问题是方言。
目前最新方言 - org.hibernate.dialect.PostgreSQL95Dialect

问题解决了这个方言: <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>


回答您的 HQL 代码:

我建议使用 TypedQuery,因为它不仅会返回一个列表,还会返回您的对象列表。

此外,您正在使用同一个 session 来传输数据。这对程序不利。总是喜欢 Open session - transfer data - close session .

试试这段代码:


public List<Vw_dh_assay> listAssayReport(double year, String project_id, String hole_id) {
        List<Vw_dh_assay> list = new ArrayList<>();
        Session session;

        try {
            session = this.sessionFactory.openSeesion();
            TypedQuery<Vw_dh_assay> query = session.createQuery("from Vw_dh_assay where year = :year AND project_id = :project_id  AND hole_id = :hole_id", Player.class);
            query.setParameter("year", year);
            query.setParameter("project_id", project_id);
            query.setParameter("hole_id", hole_id);

            list = query.getResultList();

            System.out.println(list);

            session.clear();
            session.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return list;
    }

关于spring - 我如何让 spring 使用 postgresql 识别第一个大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57829387/

相关文章:

spring - 如何使用绑定(bind)结果验证表单?

spring - 如何在 Spring DM 中获得 BundleContext?

postgresql - 使用安装在不同 Postgres Schema 中的 Postgis 扩展

hibernate - GORM:懒惰地保存

Java - Hibernate criteria.setResultTransformer() 使用默认值初始化模型字段

hibernate - Spring MVC : @ResponseBody, 415 不支持的媒体类型

java - Spring是否支持OpenJDK 12

java - 将全局变量 Hook 到 JSP (Spring) 中最优雅的方法是什么

sql - 使用WITH子句插入表在postgres中不起作用

postgresql - 在 Postgresql 中执行更新插入时,ON CONFLICT 子句中未使用部分索引