小编Wil*_*ler的帖子

如何为每个键值选择具有最新时间戳的行?

我有一张传感器数据表.每行都有一个传感器ID,一个时间戳和其他字段.我想为每个传感器选择一个具有最新时间戳的行,包括一些其他字段.

我认为解决方案是按传感器ID进行分组,然后按max(timestamp)顺序排序,如下所示:

SELECT sensorID,timestamp,sensorField1,sensorField2 
FROM sensorTable 
GROUP BY sensorID 
ORDER BY max(timestamp);
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误,说"sensorField1必须出现在group by子句中或者在聚合中使用".

解决这个问题的正确方法是什么?

sql greatest-n-per-group

64
推荐指数
6
解决办法
17万
查看次数

如何使用jUnit对Servlet过滤器进行单元测试?

已实施doFilter().如何用jUnit正确覆盖过滤器?

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
        throws java.io.IOException, javax.servlet.ServletException
{
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    HttpServletResponse response = (HttpServletResponse) servletResponse;
    String currentURL = request.getRequestURI();

    if (!currentURL.equals("/maintenance.jsp") && modeService.getOnline())
    {
        response.sendRedirect("/maintenance.jsp");
    }
    filterChain.doFilter(servletRequest, servletResponse);
}
Run Code Online (Sandbox Code Playgroud)

java junit

34
推荐指数
3
解决办法
4万
查看次数

Hibernate注释中的继承?

如何使用Java注释配置Hibernate继承映射?在Annotations中使用继承有什么好处?

inheritance annotations hibernate

29
推荐指数
2
解决办法
4万
查看次数

可用性灾难的例子?

有人有可用性灾难的好例子吗?

这是一个例子.Hector是一个拥有大型团队的经理.部门管理员希望向Hector发送一份包含其团队工资的电子表格.她在Outlook"收件人:"字段中键入"Hector".它自动填充到"Hector的团队",但直到她发送之后她才注意到.

usability

21
推荐指数
8
解决办法
1万
查看次数

如何避免使用Spring Data Rest进行n + 1查询?

题.如何使用Spring Data REST避免n + 1查询?

背景.在查询Spring Data REST以获取资源列表时,每个生成的顶级资源都具有指向关联资源的链接,而不是将关联资源直接嵌入顶级资源中.例如,如果我查询数据中心列表,则关联的区域显示为链接,如下所示:

{
  "links" : [ {
    "rel" : "self",
    "href" : "http://localhost:2112/api/datacenters/1"
  }, {
    "rel" : "datacenters.DataCenter.region",
    "href" : "http://localhost:2112/api/datacenters/1/region"
  } ],
  "name" : "US East 1a",
  "key" : "amazon-us-east-1a"
}
Run Code Online (Sandbox Code Playgroud)

然而,非常典型的是,想要获得相关信息而不必进行n + 1次查询.为了坚持上面的例子,我可能想要在UI中显示数据中心及其相关区域的列表.

我试过的.我在my上创建了一个自定义查询,RegionRepository以获取给定数据中心键集的所有区域:

@RestResource(path = "find-by-data-center-key-in")
Page<Region> findByDataCentersKeyIn(
    @Param("key") Collection<String> keys,
    Pageable pageable);
Run Code Online (Sandbox Code Playgroud)

遗憾的是,此查询生成的链接与上面的数据中心查询生成的链接不重叠.以下是我为自定义查询获得的链接:

http://localhost:2112/api/regions/search/find-by-data-center-key-in?key=amazon-us-east-1a&key=amazon-us-east-1b

{
  "links" : [ ],
  "content" : [ {
    "links" : [ {
      "rel" : "self",
      "href" : "http://localhost:2112/api/regions/1"
    }, { …
Run Code Online (Sandbox Code Playgroud)

rest spring spring-data spring-data-rest spring-hateoas

21
推荐指数
2
解决办法
6854
查看次数

为什么我的EmbeddedId在休眠状态下不起作用?

我有一个复合主键(IDHOLIDAYPACKAGE, IDHOLIDAYPACKAGEVARIANT)的表HolidayPackageVariant,其中IDHOLIDAYPACKAGE指的是实体HolidayPackage许多一个关系HolidayPackageVariantHolidayPackage.

当我尝试在HolidayPackageVariant中进行compund PK映射时,我收到以下错误:

初始SessionFactory创建failed.org.hibernate.annotations.common.AssertionFailure:在继承状态层次结构中找不到声明类:org.wah.model.holidaypackage.HolidayPackageVariantPrimaryKey

有人可以告诉我这里我做错了什么吗?

我的POJO看起来像这样:

HolidayPackageVariant:

@Entity
@Table(name="HOLIDAYPACKAGEVARIANT")
public final class HolidayPackageVariant {

    private HolidayPackageVariantPrimaryKey idCompound;

    @EmbeddedId
    public HolidayPackageVariantPrimaryKey getIdCompound() {
        return idCompound;
    }

    // other code
}
Run Code Online (Sandbox Code Playgroud)

HolidayPackageVariantPrimaryKey

@Embeddable
public final class HolidayPackageVariantPrimaryKey implements Serializable {

    private Integer idHolidayPackageVariant;
    private HolidayPackage holidayPackage;

    public HolidayPackageVariantPrimaryKey(){}

    public HolidayPackageVariantPrimaryKey(int id, HolidayPackage pkg){
        setIdHolidayPackageVariant(id);
        setHolidayPackage(pkg);
    }

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "IDHOLIDAYPACKAGEVARIANT", nullable = …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa composite-primary-key hibernate-annotations

20
推荐指数
1
解决办法
3万
查看次数

用于RESTful创建或更新的正确HTTP方法?

我正在创建一个RESTful Web服务,允许我按名称导入文档.我会使用这样的路径导入文档:

/documents/frequently-asked-questions
Run Code Online (Sandbox Code Playgroud)

如果该文件尚不存在,则会创建一个新文件; 否则,它只会覆盖现有文档.

我的问题是这是否是RESTful服务的错误端点.通常我会使用POSTs来创建和PUTs进行更新.这里不知道文件是否已经存在.如果这是合理的,那么什么是最好的HTTP方法?如果它不正确,那么什么是更好的方法?

rest web-services

18
推荐指数
2
解决办法
7010
查看次数

在bash中使用heredoc之后使用&&

我有一个bash脚本,其命令我链接在一起&&,因为我希望脚本停止,如果单个步骤失败.

其中一个步骤基于heredoc创建配置文件:

some_command &&
some_command &&
some_command &&
some_command &&
some_command &&
some_command &&
cat > ./my-conf.yml <<-EOF
host: myhost.example.com
... blah blah ...
EOF
... lots more commands ...
Run Code Online (Sandbox Code Playgroud)

如何在&&链中包含此命令?我试过了:

  • &&在EOF之后立即放置.不起作用,因为EOF必须独立.
  • &&按照EOF 放置在一条线上.不行,因为bash认为我正在尝试&&用作命令.
  • 放置&&>重定向器之前.没有用,因为重定向器在逻辑上是命令的一部分&&.

澄清:

在从heredoc生成配置文件的命令后面有很多(多行)命令,所以理想情况下我正在寻找一个允许我在heredoc之后放置以下命令的解决方案,这是脚本的自然流程.那就是我不希望在一行上内联20多个命令.

bash heredoc

18
推荐指数
1
解决办法
3404
查看次数

有什么好的例子表明"我不是用户"?

我是一名软件开发人员,拥有可用性工程方面的背景.当我在研究生院学习可用性工程时,其中一位教授有一句口头禅:"你不是用户".我们的想法是,我们需要将UI设计基于实际的用户研究,而不是我们自己关于UI应该如何工作的想法.

从那以后,我看到一些好的例子似乎证明我不是用户.

  • 用户尝试使用电子邮件模板创作工具,并试图输入管道(|)字符.问题是,键盘上的管道中间有一个空间.
  • 在网络应用中,用户看不到首屏内容.常见的.我们告诉她向下滚动.她不知道我们在谈论什么,也不熟悉滚动拇指.
  • 我正在听技术支持电话.Rep告诉用户关闭浏览器.在后台我听到Windows关机叮当声.

这有什么其他好的例子?

编辑:为了澄清,我正在寻找开发人员做出假设的例子,这些假设对于用户将会知道,理解等等是非常错误的.

usability user-interface hci ucd

16
推荐指数
2
解决办法
882
查看次数

Spring/Hibernate @Transactional - 会话应该关闭之前

我无法弄清楚为什么,但Hibernate会话才应该关闭,所以我无法获取延迟加载的列表.

在日志中,它显示会话在DAO内的hibernateTemplate.findByNamedParam()之后立即关闭.

当我运行我的网络应用程序时,我收到以下错误:

Mar 29, 2011 3:13:21 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Spring MVC Dispatcher Servlet] in context with path [/apps] threw exception [Request processing failed; nested exception is org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.communitydriven.apps.entities.Project.tags, no session or session was closed] with root cause
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.communitydriven.apps.entities.Project.tags, no session or session was closed
    at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:380)
    at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:372)
    at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:365)
    at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:108)
    at org.hibernate.collection.PersistentBag.iterator(PersistentBag.java:272)
    at com.communitydriven.apps.managers.ProjectManager.getProject(ProjectManager.java:98)
    at com.communitydriven.apps.controllers.ProjectController.getViewProject(ProjectController.java:86) …
Run Code Online (Sandbox Code Playgroud)

spring hibernate transactions spring-mvc

16
推荐指数
1
解决办法
1万
查看次数