- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Team
实体,我想将一个额外的 String 列映射到结果集。为此,我使用了 @SqlResultSetMapping
并创建了一个名为 TeamListInformation
的新类。
我的团队实体:
@Entity
@Table(name="teams")
@SqlResultSetMapping(
name = "TeamInformation",
entities={
@EntityResult(
entityClass=Team.class,
fields={
@FieldResult(name="id", column="id"),
@FieldResult(name="name", column="name"),
@FieldResult(name="rating", column="rating"),
@FieldResult(name="id_country", column="id_country"),
@FieldResult(name="id_division", column="id_division")
}
)
},
columns={
@ColumnResult(name="country"),
@ColumnResult(name="division"),
@ColumnResult(name="games")
}
)
public class Team implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "name", length = 40, nullable = false)
private String name;
@Column(name = "rating", length = 6, nullable = false)
private Integer rating;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_country", nullable = false)
private Country country;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_division", nullable = false)
private Division division;
@Column(name = "desc_image", length = 100, nullable = true)
private String descImage;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "team")
private List<ActividadeEquipa> actividadesEquipa;
我的 TeamListInformation 类:
public class TeamListInformation {
private Integer id;
private String name;
private Integer rating;
private String id_country;
private String country;
private String id_division;
private String division;
private String games;
getters and setters...
}
然后,在我的 DAO 类中,我创建了一个函数来生成我的查询:
public List<TeamListInformation> getTeams(){
Query q = em.createNativeQuery(
"SELECT " +
"T.id as id, " +
"T.name as name, " +
"T.rating as rating, " +
"T.id_country as id_country, " +
"C.name as country, " +
"D.id_division as id_division, " +
"D.name as division, " +
"group_concat(J.nome SEPARATOR ', ') as games " +
"FROM teams T " +
"INNER JOIN countries C " +
"ON T.id_country = C.id_country " +
"INNER JOIN divisions D " +
"ON T.id_division = D.id_division " +
"INNER JOIN actividade_equipa AE " +
"ON T.id = AE.id_equipa " +
"INNER JOIN jogo J " +
"ON AE.id_jogo = J.id " +
"GROUP BY T.id, T.name, T.rating, T.id_country, C.name, D.id_division, D.name",
"TeamInformation");
List<TeamListInformation> teams = q.getResultList();
return teams;
}
生成的查询:
SELECT
T.id as id,
T.name as name,
T.rating as rating,
T.id_country as id_country,
C.name as country,
D.id_division as id_division,
D.name as division,
group_concat(J.nome SEPARATOR ', ') as games
FROM
teams T
INNER JOIN
countries C
ON T.id_country = C.id_country
INNER JOIN
divisions D
ON T.id_division = D.id_division
INNER JOIN
actividade_equipa AE
ON T.id = AE.id_equipa
INNER JOIN
jogo J
ON AE.id_jogo = J.id
GROUP BY
T.id,
T.name,
T.rating,
T.id_country,
C.name,
D.id_division,
D.name
生成的查询是正确的,当我在 MySQL Workbench 中直接执行它时,它返回了理想的结果,但是,我收到以下异常:java.sql.SQLException: Column 'id_count5_5_0_' not found。
我错过了什么?
错误:
HTTP Status 500 - Request processing failed; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
type Exception report
message Request processing failed; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.sql.SQLException: Column 'id_count5_5_0_' not found.
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:545)
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513)
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:505)
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:479)
com.mysql.cj.jdbc.result.ResultSetImpl.findColumn(ResultSetImpl.java:574)
com.mysql.cj.jdbc.result.ResultSetImpl.getString(ResultSetImpl.java:892)
org.hibernate.type.descriptor.sql.VarcharTypeDescriptor$2.doExtract(VarcharTypeDescriptor.java:62)
org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:47)
org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:260)
org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:256)
org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:246)
org.hibernate.type.ManyToOneType.hydrate(ManyToOneType.java:179)
org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2844)
org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1741)
org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1667)
org.hibernate.loader.Loader.getRow(Loader.java:1556)
org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:740)
org.hibernate.loader.Loader.processResultSet(Loader.java:985)
org.hibernate.loader.Loader.doQuery(Loader.java:943)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349)
org.hibernate.loader.Loader.doList(Loader.java:2615)
org.hibernate.loader.Loader.doList(Loader.java:2598)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2430)
org.hibernate.loader.Loader.list(Loader.java:2425)
org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:335)
org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:2160)
org.hibernate.internal.AbstractSharedSessionContract.list(AbstractSharedSessionContract.java:992)
org.hibernate.query.internal.NativeQueryImpl.doList(NativeQueryImpl.java:148)
org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1414)
org.hibernate.query.Query.getResultList(Query.java:146)
org.o7planning.SpringMVCTeams.dao.imp.TeamDAOImpl.getTeamsTest(TeamDAOImpl.java:195)
org.o7planning.SpringMVCTeams.service.imp.TeamServiceImpl.getNumOfPages(TeamServiceImpl.java:50)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
com.sun.proxy.$Proxy72.getNumOfPages(Unknown Source)
org.o7planning.SpringMVCTeams.controller.TeamController.getlistOfTeams(TeamController.java:154)
org.o7planning.SpringMVCTeams.controller.TeamController.listOfTeams(TeamController.java:179)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:826)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:964)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:856)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:841)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
最佳答案
我设法通过更改 @SqlResultSetMapping
来做到这一点:
@SqlResultSetMapping(
name = "TeamInformation",
classes = {
@ConstructorResult(targetClass = TeamListInformation.class,
columns = {@ColumnResult(name="id", type = Integer.class) ,
@ColumnResult(name="name", type = String.class),
@ColumnResult(name="rating", type = Integer.class),
@ColumnResult(name="country", type = String.class),
@ColumnResult(name="division", type = String.class),
@ColumnResult(name="games", type = String.class)}
)}
)
尽管如此,我仍然不知道我之前的实现有什么问题。
关于java - Spring Hibernate - 查询以将附加列映射到我的实体 - java.sq.SQLException : Column not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45220118/
都是整数,但一直报错 "Only assignment, call, increment, decrement, await, and new object expressions can be us
我有以下情况:一个“对话”实体/表,它有多个关联的标签。Tag 也是一个实体/表 - key/id 是 tagName(一个字符串)。 在客户端 (javascript),我在处理标签时使用字符串数组
我想通过 maven java 源代码生成器自动生成 java 源代码。我想通过查看一个大实体 xml 文件来创建实体类,该文件将包含系统中的所有实体和实体关系。据我搜索,目前maven中没有这样的插
我有一段时间有这个疑问,有人说 EJB 3.0 中没有所谓的实体 bean。有没有可能这样说,EJB 3.0 使用 JPA 来持久化数据并且没有对以前版本(EJB 2.1)中的实体 bean 进行增强
我观看了关于 Core Data 的 2016 WWDC 视频并查看了各种教程。我见过使用 Core Data Framework 创建对象以持久保存到 managedObjectContext 中的
实体(entites) 用于定义引用普通文本或特殊字符的快捷方式的变量,可在内部或外部进行声明 实体引用是对实体的引用 声明一个内部实体 语法: <!ENTITY 实体名称 "
This page建议 !ENTITY: If you want to avoid duplication, consider using XML entities (for example, [ ]
我正在努力解决这个问题:如何判断一个概念是聚合根还是只是一个实体(属于 AR 的一部分)? : 他们都有 ID 它们都是由实体或值对象组成 也许如果我需要引用其他 AR 中的实体,那么我需要将其设为
我使用 Symfony2 和 Doctrine,我有一个关于实体的问题。 出于性能方面的考虑,我想知道是否可以在不进行所有关联的情况下使用实体? 目前,我还没有找到另一种方法来创建继承带有关联的类的模
我已经尝试在 HTML 中包含以下代码,用于附加文件符号。但它显示一个空的白框。 📎 📎 📎 是否有替代的 HTML 附加文件符号实体? 如果没有,我们可以手动创建
我在 grails 中有一个域类......我如何让 gorm 在创建数据库时忽略这个实体?就别管它了。 最佳答案 如果我理解,你不想从域类创建表?如果是,请在域类中使用此代码: static map
我正在努力解决这个问题:如何判断一个概念是聚合根还是只是一个实体(属于 AR 的一部分)? : 他们都有 ID 它们都是由实体或值对象组成 也许如果我需要引用其他 AR 中的实体,那么我需要将其设为
我已经尝试在 HTML 中包含以下代码,用于附加文件符号。但它显示一个空的白框。 📎 📎 📎 是否有替代的 HTML 附加文件符号实体? 如果没有,我们可以手动创建
如何在我的实体中以 14-04-2017 格式存储日期? 但我必须从字符串中解析它。 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-
我需要从两个连接表中获取数据。数据集是什么类型?我是否需要创建一个包含这两个表中的属性的类以用于数据集类型,或者我可以使用实体模式中的类型。我如何修改我的方法才能正常工作? public static
好的,我们正在尝试建立一个中央站点来查看来自销售我们产品的多个供应商的数据。这些多个供应商使用不同的销售系统(确切地说是两个不同的系统),因此每个数据库看起来完全不同。我们与他们的数据库同步,因此数据
我是 backbone 的新手。但是当我研究模型实体时,我不明白一些事情。如果我们可以像 java 或 C# 这样的标准语言一样定义模型属性,那就太好了。有没有可能是这样的。所以我的想法是这样的: M
我想获取存储在可绘制的 xml 文件中的形状的颜色。 我来到了将 Drawable 存储在 Drawable 变量中的步骤,所以,现在我想获取形状的颜色(纯色标签)。 有什么建议吗? 最佳答案 Gra
实体是直接映射到我们的数据库(我们用于 Hibernate)的类。 在调用 DAO 之前,我们的服务类包含这些实体的业务逻辑。 我们还有命令对象,它们是与特定 View 相关的 POJO。有人告诉我实
在我的应用程序中,我需要显示不同存储过程返回的记录列表。每个存储过程返回不同类型的记录(即列数和列类型不同)。 我最初的想法是为每种类型的记录创建一个类,并创建一个函数来执行相应的存储过程并返回 Li
我是一名优秀的程序员,十分优秀!