小编abi*_*eez的帖子

我们可以在Hibernate HQL查询中连接两个属性吗?

假设我有一个包含两列firstnamelastname具有String数据类型的表.通常我会写我的hql查询

"select firstname,lastname from contact"
Run Code Online (Sandbox Code Playgroud)

我可以写一个连接两个属性的hql查询吗?

也许是这样的 "select firstname+lastname as fullname from Contact"

hibernate

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

为什么在href使用javascript:void(0)而不是#?

我可以<a href="javascript:void(0);">在html页面上看到很多内容.从我看过它回来后什么也没做undefined.这有什么不同<href="#">

javascript

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

找不到带URI的HTTP请求的映射[/favicon.ico]

我不记得我的代码有什么变化,但每当我点击网络上的任何链接时,它都会给我这样的信息:

WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/favicon.ico] in DispatcherServlet with name 'mvc-dispatcher'
Run Code Online (Sandbox Code Playgroud)

我的web.xml的一部分

<servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
  </filter>
  <filter>
    <filter-name>HttpMethodFilter</filter-name>
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>HttpMethodFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
Run Code Online (Sandbox Code Playgroud)

我的mvc-dispatcher-servlet.xml的一些配置

<!-- Handles HTTP GET requests for /resources/** by efficiently serving 
        up static resources in the ${webappRoot}/resources directory -->
    <mvc:resources mapping="/resources/**" location="resources/" />

    <!-- Resolves views selected for rendering by @Controllers to .jsp resources 
        in the /WEB-INF/views directory -->
    <beans:bean …
Run Code Online (Sandbox Code Playgroud)

spring-mvc

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

Spring安全认证入口点

我在我的Spring MVC应用程序上启用了Rest支持,并AuthenticationEntryPoint在我的security-context.xml上设置为

<http auto-config="false" use-expressions="true"
            disable-url-rewriting="true" entry-point-ref="restAuthenticationEntryPoint">
Run Code Online (Sandbox Code Playgroud)

RestAuthenticationEntryPoint.java

@Component
public final class RestAuthenticationEntryPoint implements AuthenticationEntryPoint {

    @Override
    public void commence(final HttpServletRequest request, final HttpServletResponse response, final AuthenticationException authException) throws IOException {
        response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized");
    }

}
Run Code Online (Sandbox Code Playgroud)

每当任何用户尝试访问资源而不进行身份验证时,都会出现以下错误:

HTTP Status 401 - Unauthorized
Run Code Online (Sandbox Code Playgroud)

以上行为仅适用于Rest服务.但是,如果用户尚未通过身份验证,我希望具有将用户重定向到登录页面以进行正常Web请求的默认行为.怎么做到这一点?

spring-security

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

如何使用Hibernate Criteria选择嵌套属性

我有三个实体,如注册,用户和国家.基本上,注册属于用户,用户属于国家.现在我正尝试从以下注册中选择国家/地区名称

        Criteria criteria = getSession().createCriteria(Registration.class);
        ProjectionList projectionList = Projections.projectionList();
        criteria.createAlias("user.country", "usercountry");
        projectionList.add(Projections.property("usercountry.name"),"usercountry.name");
        criteria.setProjection(projectionList);
        criteria.list();
Run Code Online (Sandbox Code Playgroud)

这失败并给我:

ERROR: org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Unknown column 'usercountr1_.name' in 'field list'
org.hibernate.exception.SQLGrammarException: Unknown column 'usercountr1_.name' in 'field list'
Run Code Online (Sandbox Code Playgroud)

生成的Hibernate查询:

Hibernate: select usercountr1_.name as y0_ from voucherList this_
Run Code Online (Sandbox Code Playgroud)

我注意到sql中没有连接.这是查询失败的原因吗?我怎样才能解决这个问题 ?

hibernate

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

如何在Java中使用DateTimeZone

我一直在尝试使用以下代码将服务器的日期和时间转换为用户的日期和时间

@Test
public void playingWithJodaTime() {

    LocalDateTime localDateTime = new LocalDateTime();
    System.out.println("server localDateTime : "
            + localDateTime.toDateTime(DateTimeZone.getDefault()).toDate());
    System.out.println("user's localDateTime : "
            + localDateTime.toDateTime(DateTimeZone.forID("Asia/Jakarta"))
                    .toDate());
}
Run Code Online (Sandbox Code Playgroud)

印刷结果

server localDateTime : Tue Dec 17 00:04:29 SGT 2013
user's localDateTime : Tue Dec 17 01:04:29 SGT 2013
Run Code Online (Sandbox Code Playgroud)

但是,由于服务器时区是(UTC+08:00) Kuala Lumpur, Singapore用户的,因此打印结果与我的预期不符(UTC+07:00) Bangkok, Hanoi, Jakarta.

我在这做错了什么?

java jodatime

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

Spring MVC中的通用控制器

我一直在尝试编写一个通用控制器来提高代码的可重用性.以下是我到目前为止:

public abstract class CRUDController<T> {

    @Autowired
    private BaseService<T> service;

    @RequestMapping(value = "/validation.json", method = RequestMethod.POST)
    @ResponseBody
    public ValidationResponse ajaxValidation(@Valid T t,
            BindingResult result) {
        ValidationResponse res = new ValidationResponse();
        if (!result.hasErrors()) {
            res.setStatus("SUCCESS");
        } else {
            res.setStatus("FAIL");
            List<FieldError> allErrors = result.getFieldErrors();
            List<ErrorMessage> errorMesages = new ArrayList<ErrorMessage>();
            for (FieldError objectError : allErrors) {
                errorMesages.add(new ErrorMessage(objectError.getField(),
                        objectError.getDefaultMessage()));
            }
            res.setErrorMessageList(errorMesages);
        }
        return res;
    }

    @RequestMapping(method = RequestMethod.GET)
    public String initForm(Model model) {
        service.initializeForm(model);
        return "country"; // how can I make this generic …
Run Code Online (Sandbox Code Playgroud)

spring-mvc

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

Cloud Foundry中的时区

当我在云中发布我的应用程序时,默认时区是什么?如果有这样的选项,我该如何更改时区?

非常感谢任何对此功能的引用.

cloud-foundry

6
推荐指数
1
解决办法
1168
查看次数

Java Locale区分大小写

我有以下代码来显示当前的区域设置

System.out.println(Locale.getDefault());
System.out.println(new Locale("en_US"));
Run Code Online (Sandbox Code Playgroud)

以上给出了如下输出

en_US
en_us
Run Code Online (Sandbox Code Playgroud)

如何构造一个给出的Locale实例en_US

编辑

我问这个是因为Messages_en_US.properties当我尝试将其设置为默认语言环境时,我的资源被忽略,如果在此期间发生任何异常

ResourceBundle.getBundle("Messages", new Locale("en_US"));
Run Code Online (Sandbox Code Playgroud)

java localization

5
推荐指数
1
解决办法
1450
查看次数

如何将Spring Boot部署到Cloud Foundry?

我尝试使用以下内容将我的Spring启动应用程序部署到CF. pom.xml

       <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-rest</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cloud-connectors</artifactId>
        </dependency>
    </dependencies>
Run Code Online (Sandbox Code Playgroud)

更新

我的应用程序

@SpringBootApplication
public class EdollarApplication {

    @Autowired
    private DataSource dataSource;

    public static void main(String[] args) {
        SpringApplication.run(EdollarApplication.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

DataSourceConfiguration.java

@Configuration
@Profile("cloud")
public class DataSourceConfiguration {

  @Bean
  public Cloud cloud() {
    return new CloudFactory().getCloud();
  }

  @Bean
  @ConfigurationProperties(DataSourceProperties.PREFIX)
  public DataSource …
Run Code Online (Sandbox Code Playgroud)

spring-mvc cloud-foundry spring-boot

5
推荐指数
1
解决办法
6907
查看次数