jjzjj

postgresql-9.1

全部标签

java - 在 PostgreSQL 的时间戳列上使用 Hibernate 进行日期查询

一个表有时间戳列。其中的示例值可能是2010-03-3013:42:42。使用Hibernate,我正在执行范围查询Restrictions.between("column-name",fromDate,toDate)。此列的Hibernate映射如下。比方说,我想找出日期为2010年3月30日和2010年3月31日的所有记录。该字段的范围查询按如下方式完成。DatefromDate=newSimpleDateFormat("yyyy-MM-dd").parse("2010-03-30");DatetoDate=newSimpleDateFormat("yyyy-MM-dd").par

java - 如何启动 postgresql 实例进行集成测试

通常我使用hsqldb进行一些集成测试,它工作正常。但是有些测试需要有一个postgresql实例。当我们的生产服务器运行postgresql时,无论如何对生产数据库运行测试是个好主意。是否有maven插件或类似的东西可以轻松地在给定端口上安装和启动postgresql数据库,并在所有测试运行后将其关闭?类似于mysql-je对于mysql? 最佳答案 我什么都不知道。但是您可能不想启动和停止实际的PostgreSQL服务器;你想让服务器一直运行,并根据需要创建和销毁数据库。您可以createadatabaseinSQL,还有des

java - PostgreSQL:将用完整数列中的 ID

问题我们正在PostgreSQL之上用Java构建一个Web应用程序。它相当大而且很成功,至少应该可以再运行几年。不幸的是,我们(好吧,我)在设计过程的早期阶段犯了一个严重的错误:所有数据库ID都是整数,从一个共享序列分发。Java'smaxintis2^31-1,所以大约有20亿。PostgreSQL'sintegertype也是如此.该系统目前每天消耗约10,000个ID,并且随着我们获得新用户,该速率还在上升。总有一天,ID会用完并溢出。问题我们正在寻找解决问题的方法。让我们立即解决明显的问题:切换到Java的long和Postgres的bigint是一个干净的解决方案,但它是一

java - 当我选择带有 AS 关键字的常量时,PostgreSQL 返回 java.sql.Types.OTHER

当通过java在Postgres上运行选择时SELECT''ASCOL1,0ASCOL2FROMMYTABLE1=2;COL1和COL2的列类型都是Types.OTHER。很明显结果集没有任何行。但是如果我使用下面的查询在结果集中有行:SELECT''ASCOL1,0ASCOL2FROMMYTABLE;COL1的类型仍然是Types.OTHER,但COL2的类型是Types.INTEGER。在我的例子中,我需要Types.VARCHAR和Types.INTEGER甚至结果是否为空。在db层或jdbcurl上是否有任何配置来获取Types.VARCHAR和Types.INTEGER两个查

java - JPA 中的 PostgreSQL 函数 string_agg

在PostgreSQL中,string_agg(column,separator)允许聚合一些字符串。我尝试将它与JPA一起使用,但它不是JPA标准函数。注意:这不等同于CriteriaBuilder#concat()。所以,我试图告诉JPA这个函数存在,就像这样:publicclassStringAggextendsParameterizedFunctionExpressionimplementsSerializable{publicstaticfinalStringNAME="string_agg";@OverridepublicbooleanisAggregation(){ret

java - 通过JDBC向PostgreSQL表中插入 "daterange"字段值

我在PostgreSQL(9.3)中有一张表daterange字段类型。我可以像使用JDBC的字符串一样选择这个字段,但我不能将它插入到表中。我尝试过的:PreparedStatementstm=conn.prepareStatement("insertintomytable(my_daterange_field)values(?)");stm.setString(1,"[2014-01-02,2014-01-04]");inti=stm.executeUpdate();我得到了:Exceptioninthread"main"org.postgresql.util.PSQLExcept

java - 从postgresql中批量插入的行中检索序列号

这是有效的代码:Connectionc=ds.getConnection();c.setAutoCommit(false);PreparedStatementstmt=c.prepareStatement("INSERTINTOitems(name,description)VALUES(?,?)");while(!(items=bus.take()).isEmpty()){for(Itemitem:items){stmt.setString(1,item.name);stmt.setString(2,item.description);stmt.addBatch();}stmt.exe

java - 与 postgreSQL 数据库连接的非法 UTF-8 序列

我有以下代码连接到数据库Stringhost="jdbc:postgresql://localhost:5432/name";Stringusername="user";Stringpassword="pass";Connectionc=null;try{Class.forName("org.postgresql.Driver");c=DriverManager.getConnection(host,username,password);}catch(Exceptione){e.printStackTrace();System.err.println(e.getClass().getN

java - 有没有办法用 Hibernate/JPQL 查询 PostgreSQL hstore?

假设我有一个如下所示的Hibernate/JPA实体:@EntitypublicclassFooEntity{...@Type(type="hstore")HashMaptags;}...和hstore类型是来自this的简单UserType实现资源。有没有一种方法可以在类似于此伪代码的JPQL查询中访问hstore:SELECTfFROMFooEntityfWHEREf.tagsCONTAINSKEY(:key) 最佳答案 您也可以简单地创建一个Hibernateorg.hibernate.usertype.UserType。你扩

java - postgresql - java - 当数据库中发生某些事情时唤醒应用程序

我编写了一个Java应用程序,它应该在数据库中发生“某事”时启动或唤醒。例如,插入用户表应该触发发送通常的欢迎、密码……邮件。执行此操作的最佳常见做法是什么?我可以编写我的应用程序,使其每秒执行以下查询:selectmailfromuserwheremail_sent=false但这是轮询,我想避免它。有没有办法启动或唤醒由数据库更改启动的Java应用程序(推送)?干杯! 最佳答案 PostgreSQL中的触发器可以用多种语言编写,其中包括PL/Java。您可以在需要此监视相关操作(插入、删除、更新...)的表上设置触发器,并让触发