【发布时间】:2016-08-18 15:05:25
【问题描述】:
我有一个类似的存储库方法
@Query("from Application app where app.id.hostId = :hostId")
List<Application> getApplicationsByApplicationId(@Param("hostId") String hostId);
我的域类读起来像
public class Application {
@EmbeddedId
Composite id;
...
...
@Embeddable
public static class Composite implements java.io.Serializable {
@Column(name = "id")
private String id;
@Column(name = "hostId")
private String hostId;
....
在处理链的某处,hostIdstring 被转换为 host_id,所以我收到类似
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'application0_.host_id' in 'field list'.
我正在尝试将现有的休眠/JPA 层迁移到 Spring Boot JPA。 任何指针将不胜感激。
【问题讨论】:
-
尝试为
Composite类添加@Access(AccessType.FIELD)注释。并使Composite类不是内部的。还有host_id列如何在表中命名? -
与规定的更改相同的错误。 DB中的列在表中命名为
hostid。
标签: jpa spring-boot