我在Mac OS X上遇到了Postgres 9的一个奇怪的问题,我有以下声明适用于Windows Postgres,但在Mac OS postgres上
CREATE DOMAIN pkey_domain AS SERIAL PRIMARY KEY;
回报
错误:类型"序列"不存在
*** 错误 ***
错误:类型"serial"不存在SQL状态:42704
SERIAL是postgres支持的数据类型,为什么我无法使用它创建域?Mac上的deafult安装程序是否不创建类型?
我在网上的某些地方看到它提到在某些情况下可以使用反射API来获取有关通用数据类型的信息,我认为这些信息类型会因类型擦除而丢失.
我正在寻找类型擦除不完整的情况的完整列表,即仍然可以通过反射访问某些内容.可以获得泛型类型的示例和相关反射代码的良好列表将是非常好的.
更新 http://tutorials.jenkov.com/java-reflection/generics.html正好有我想要的例子.
直接从Spring Service bean而不是@Repository bean使用实体管理器是否有任何缺点
@Service
public class SomeService {
@PersistenceContext EntityManager em;
@Transactional(....)
public void doSomething(....)
{
// use entity manager here
}
}
Run Code Online (Sandbox Code Playgroud)
与
@Repository
public class SomeRepository {
@PersistenceContext EntityManager em;
public void doSomething(....)
{
// use entity manager here
}
}
Run Code Online (Sandbox Code Playgroud) 在maven中是否有办法强制插件只能手动执行.例如,我有sql插件,它将创建一些表,我不希望这个插件一直运行每个构建我想要它只在我告诉maven运行该插件时运行.如何将插件配置为手动运行?
考虑<div class="well well-large well-small" />来自 twitter bootstrap https://github.com/twitter/bootstrap/blob/master/less/wells.less的以下样式
// Base class
.well {
min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: @wellBackground;
border: 1px solid darken(@wellBackground, 7%);
.border-radius(@baseBorderRadius);
.box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
blockquote {
border-color: #ddd;
border-color: rgba(0,0,0,.15);
}
}
// Sizes
.well-large {
padding: 24px;
.border-radius(@borderRadiusLarge);
}
.well-small {
padding: 9px;
.border-radius(@borderRadiusSmall);
}
Run Code Online (Sandbox Code Playgroud)
CSS 如何决定在这种情况下应用哪种填充?它是 19px、24px、9px 还是未定义的值?我对特异性的理解是初步的,似乎在这种情况下,.well .well-large and .well-small
在psql上我可以输入以下内容:
BEGIN;
Run Code Online (Sandbox Code Playgroud)
我输入什么来获取新创建的事务的当前id?
我试图整理一个演示,解释真空和MVVC如何在postgres中工作.例如select xmin, xmax, * from test;,从当前事务的角度显示每行的xmin和xmax.
我理解它的基本理论,但想要组合一个交互式练习,这样我就可以打开两个psql控制台,然后有一套显示mvcc和真空工作的分步说明.
我如何获得当前的postgres交易ID?
我想在 Spring 中解析 HTTP 接受标头以确定是否可以发回 JSON。我正在尝试使用以下代码。
class MediaTypeUtil {
private final static Logger logger = LoggerFactory.getLogger(MediaTypeUtil.class);
static boolean acceptsJson(HttpServletRequest request) {
try {
String accept = request.getHeader("Accept");
MediaType requestType = MediaType.valueOf(accept);
return MediaType.APPLICATION_JSON.isCompatibleWith(requestType);
} catch (InvalidMediaTypeException e) {
logger.debug("MediaType parsing error",e);
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
当请求到达时接受标头值为application/json, application/javascript, text/javascript, text/json我最终会出现异常
Caused by: org.springframework.util.InvalidMimeTypeException: Invalid mime type "application/json, application/javascript, text/javascript, text/json": Invalid token character ',' in token "json, application/javascript, text/javascript, text/json"
at org.springframework.util.MimeTypeUtils.parseMimeTypeInternal(MimeTypeUtils.java:262)
Run Code Online (Sandbox Code Playgroud)
这段代码是从 Servlet 过滤器中使用的,所以我不能依赖 SpringMVC 注释。
Spring是否有解析接受标头并确定它是否与特定媒体类型兼容的方法?
我正在寻找一个XSLT代码片段,它可以修改一个context-param元素的值,这个元素是典型的web.xml文件.在我的web.xml中,我有以下上下文参数
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>App Name</display-name>
<context-param>
<param-name>dojoUrl</param-name>
<param-value>/dojo/src/1.7.1/dojo/dojo.js</param-value>
</context-param>
</web-app>
Run Code Online (Sandbox Code Playgroud)
我想要做的是改变生产的上下文参数的值
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>App Name</display-name>
<context-param>
<param-name>dojoUrl</param-name>
<param-value>/dojo/1.7.1/dojo/dojo.js</param-value>
</context-param>
</web-app>
Run Code Online (Sandbox Code Playgroud)
计划是使用带有XSLT任务的ANT脚本,问题是我不知道XSLT.我只需要在param-name为dojoUrl时才能更改param-value元素
我想了解postgres如何处理交易的细节; 我注意到当在psql上执行以下命令时,我得到一个位于518526的txid,而不是像0或1那样的低数,这是我预期会发生的.
postgres=# CREATE DATABASE test;
CREATE DATABASE
postgres=# \connect test;
You are now connected to database "test" as user "postgres".
test=# begin;
BEGIN
test=# select txid_current();
txid_current
--------------
518526
(1 row)
Run Code Online (Sandbox Code Playgroud)
在我输入的第二个psql控制台上
postgres=# CREATE DATABASE test3;
CREATE DATABASE
postgres=# \connect test3
You are now connected to database "test3" as user "postgres".
test3=# begin;
BEGIN
test3=# select txid_current();
txid_current
--------------
518528
(1 row)
Run Code Online (Sandbox Code Playgroud)
所以看起来对于postgres服务器中的所有数据库,下一个txid似乎在所有数据库中共享.为什么postgres跨数据库使用txid而不是基于每个数据库?
Reactor 3有2种主要数据类型,它们都是反应流发布者
reactor.core.publisher.Mono<T>reactor.core.publisher.Flux<T>我理解Mono是0或1个元素的流,而Flux是0或N个元素的流.
由于Mono和Flush都在实施,org.reactivestreams.Publisher<T>为什么我们需要两种类型,为什么不只是使用Flux来做所有事情?
spring reactive-programming project-reactor reactive-streams spring-webflux
当我为我的应用程序开发一个使用大量新表的新功能时,表定义在开发几天后才会稳定.我想将这些不稳定的迁移文件签入到源代码控制中,而不是将它们应用于生产框,当我部署相同代码库的错误修复时.
有没有办法让flyway中的迁移文件应用于开发人员计算机而不是生产盒?
我不喜欢功能分支,所以我想避免功能分支,他们只是为我维护太多的努力.
我有一个应用程序,其目标是在GMT格式的数据库中设置所有时间戳,如果没有像这样的时区创建那些时间戳,update_ts timestamp without time zone或者这样做是否更安全/更好,或者创建一个没有时间戳的时间戳是一个坏主意时区.
在postgres我有两张桌子
CREATE TABLE foo (
pkey SERIAL PRIMARY KEY,
name TEXT
);
CREATE TABLE bar (
pkey SERIAL PRIMARY KEY,
foo_fk INTEGER REFERENCES foo(pkey) NOT NULL,
other TEXT
);
Run Code Online (Sandbox Code Playgroud)
我想要做的是编写一个执行以下操作的.sql脚本文件
INSERT INTO foo(name) VALUES ('A') RETURNING pkey AS abc;
INSERT INTO bar(foo_fk,other) VALUES
(abc, 'other1'),
(abc, 'other2'),
(abc, 'other3');
Run Code Online (Sandbox Code Playgroud)
这会在pgAdmin中产生以下错误
Query result with 1 row discarded.
ERROR: column "abc" does not exist
LINE 3: (abc, 'other1'),
********** Error **********
ERROR: column "abc" does not exist
SQL state: 42703
Character: 122 …Run Code Online (Sandbox Code Playgroud) postgresql ×5
java ×3
spring ×3
ant ×1
css ×1
flyway ×1
generics ×1
maven ×1
maven-3 ×1
reflection ×1
spring-mvc ×1
sql ×1
type-erasure ×1
xslt ×1