我正在使用Spring Boot 1.5.10和Spring Boot starter数据jpa。我有一个暂存表和一个生产表,它们都有相同的结构,只是表名不同。列包括:
我收到以下错误:
原因:org.hibernate.注释异常:没有为实体指定标识符:com.foo.bar.StagingTbl
我有一个复合主键,类定义为:
@Embeddable
public class MyId implements Serializable {
private static final long serialVersionUID = -99999999L;
protected String compKey1;
protected String compKey2;
protected String compKey3;
// setters/getters
}
my Abstract class:
@MappedSuperclass
public abstract class MyAbstractClass implements Serializable {
protected static final long serialVersionUID = 7749572933971565230L;
protected MyId myId;
protected int col_A;
protected Date col_B;
protected String col_C
public MyAbstractClass (String compKey1, String compKey2, String compKey3) {
super();
this.myId = new MyId(compKey1, compKey2, compKey3);
}
@EmbeddedId
public MyId myId() {
return myId;
}
public void setMyId(MyId myId) {
this.myId= myId;
}
// getters/setters for other properties
}
我的具体类:
@Entity
@Table(name = "STG_TABLE" , schema="MYSCEMA")
public class StagingTbl extends MyAbstractClass implements Serializable {
}
标识符应该来自我正在扩展的MyAbstractClass。我显然错过了一些愚蠢的事情。提前谢谢。
您的错误是微不足道的:Hibernate仅在方法名称遵循JavaBeans约定时才会在方法上找到@EmbeddedId。
只需将getter更改为:
@EmbeddedId
public MyId getMyId() {
return myId;
}
问题内容: 我有以下配置: 我在com.example.domain中有我的Geoname类: 但是,在运行时,出现以下异常: 造成原因:org.hibernate.AnnotationException:未为实体指定标识符:org.hibernate.cfg.InheritanceState.determineDefaultAccessType(InheritanceState.java:277
我有以下配置: 我有我的Geoname类在com.example.domain: 然而,在运行时,我会遇到以下异常: 原因:组织。冬眠AnnotationException:未为实体com指定标识符。实例领域组织的地理名称。冬眠cfg公司。继承状态。在org上确定了faultaccesstype(InheritanceState.java:277)。冬眠cfg公司。继承状态。位于org的getEl
我在下面的链接中了解“https://medium.com/swlh/multi-tenancy-implementation-using-spring-boot-hibernate-6A8E3ECB251A”教程 导致以下例外情况: null
问题内容: 为什么会出现此异常? 更新:我将代码更改为如下所示: 但是现在我得到了这个异常: 问题答案: 您缺少带注释的字段。每个都需要一个-这是数据库中的主键。 如果您不希望您的实体保留在单独的表中,而是希望成为其他实体的一部分,则可以使用代替。 如果您只想让数据传输对象保存来自hibernate实体的某些数据,则不对它进行任何注释-将其保留为简单的pojo。 更新:关于SQL视图,Hibern
我有一个实体类,jpa正在抛出一个验证异常,说明指定了主键。我不明白为什么。 请参阅下面的详细信息:*内部异常:javax.Persistence.persistenceException:Exception[EclipseLink-28018](Eclipse Persistence.Exceptions.EntityManagerSetupException异常描述:Predeployment
有一些相关的问题,比如: null 我的存储库 我错过了什么?