假设我有一个包含两列firstname并lastname具有String数据类型的表.通常我会写我的hql查询
"select firstname,lastname from contact"
Run Code Online (Sandbox Code Playgroud)
我可以写一个连接两个属性的hql查询吗?
也许是这样的 "select firstname+lastname as fullname from Contact"
我可以<a href="javascript:void(0);">在html页面上看到很多内容.从我看过它回来后什么也没做undefined.这有什么不同<href="#">
我不记得我的代码有什么变化,但每当我点击网络上的任何链接时,它都会给我这样的信息:
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应用程序上启用了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请求的默认行为.怎么做到这一点?
我有三个实体,如注册,用户和国家.基本上,注册属于用户,用户属于国家.现在我正尝试从以下注册中选择国家/地区名称
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中没有连接.这是查询失败的原因吗?我怎样才能解决这个问题 ?
我一直在尝试使用以下代码将服务器的日期和时间转换为用户的日期和时间
@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.
我在这做错了什么?
我一直在尝试编写一个通用控制器来提高代码的可重用性.以下是我到目前为止:
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) 当我在云中发布我的应用程序时,默认时区是什么?如果有这样的选项,我该如何更改时区?
非常感谢任何对此功能的引用.
我有以下代码来显示当前的区域设置
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) 我尝试使用以下内容将我的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)