模板实体:
@Entity
@Table(name = "template")
public class Template implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@SequenceGenerator(name="template_se", sequenceName="TEMPLATE_SE", allocationSize=1, initialValue=1)
@Basic(optional = false)
@Column(name = "ID")
private Integer id;
@Basic(optional = false)
@Column(name = "NAME", unique = true)
private String name;
@OneToMany(cascade = CascadeType.REMOVE, mappedBy = "template")
@LazyCollection(LazyCollectionOption.FALSE)
private List<Workflow> workflowList;
}
工作流实体:
@Entity
@Table(name = "workflow")
public class Workflow implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@SequenceGenerator(name="wf_se", sequenceName="WF_SE", allocationSize=1, initialValue=1)
@Basic(optional = false)
@Column(name = "ID")
private Integer id;
@Basic(optional = false)
@Column(name = "SEQ_NO")
private int seqNo;
@JoinColumn(name = "T_ID", referencedColumnName = "ID", nullable = false)
@ManyToOne
private Template template;
@Basic(optional = false)
@Column(name = "NAME")
private String name;
}
指挥实体:
@Entity
@Table(name = "command")
public class Command implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@SequenceGenerator(name="command_se", sequenceName="COMMAND_SE", allocationSize=1, initialValue=1)
@Basic(optional = false)
@Column(name = "ID")
private Integer id;
@JoinColumn(name = "WORKFLOW_ID", referencedColumnName = "ID")
@ManyToOne(optional = false)
private Workflow workflow;
}
我已经按以下方式把事情做完了。
EmbeddedId类
@Embeddable
public class WorkflowPK implements Serializable {
@Basic(optional = false)
@Column(name = "SEQ_NO")
private int seqNo;
@JoinColumn(name = "T_ID", referencedColumnName = "ID", nullable = false)
@ManyToOne
private Template template;
}
工作流实体(带有EmbeddedId)
@Entity
@Table(name = "workflow")
public class Workflow implements Serializable {
@EmbeddedId
private WorkflowPK id;
@Basic(optional = false)
@Column(name = "NAME")
private String name;
}
@Entity
@Table(name = "template")
public class Template implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@SequenceGenerator(name="template_se", sequenceName="TEMPLATE_SE", allocationSize=1, initialValue=1)
@Basic(optional = false)
@Column(name = "ID")
private Integer id;
@Basic(optional = false)
@Column(name = "NAME", unique = true)
private String name;
// Refer the filed "template" inside the Composite key of Workflow entity
@OneToMany(cascade = CascadeType.REMOVE, mappedBy = "id.template")
@LazyCollection(LazyCollectionOption.FALSE)
@OrderBy(value = "id.stepSeqNo")
private List<Workflow> workflowList;
}
@Entity
@Table(name = "command")
public class Command implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@SequenceGenerator(name="command_se", sequenceName="COMMAND_SE", allocationSize=1, initialValue=1)
@Basic(optional = false)
@Column(name = "ID")
private Integer id;
// Refer the Composite key of Workflow entity
@ManyToOne(optional = false)
@JoinColumns ({
@JoinColumn(name="WORKFLOW_SEQ_NO_ID", referencedColumnName = "SEQ_NO"),
@JoinColumn(name="WORKFLOW_T_ID", referencedColumnName = "T_ID"),
})
private WorkflowStep workflow;
}
我正在用查询构建一个存储库,该查询使用一个复杂的类型参数进行筛选,如下所示: 类是一个简单的POJO: null 谢了!
我在oracle数据库中有一个包含客户数据的表。以下是一个简化的定义: 此表的主键是。 该表有许多行,其中为空。在数据库级别,没有问题,但是当我试图通过JPA实体访问这些行时,会导致一些问题: 1:使用
我刚刚开始使用Spring数据。带有底层JpaRepository的PagingAndSortingRepository是否可以与使用EmbeddedId对象的具有复合主键的JPA对象一起工作? 我询问的是Spring中的内置支持,因为我知道如果需要,我可以手动实现接口。
问题内容: 我在我的班级结构上定义了一个复合ID,如下所示。不幸的是,我总是收到一个hibernate错误,抱怨找不到的“ part2”: “在实体MoreClass中找不到@IdClass的属性:第2部分” 有人可以帮我解决问题吗?(或者至少在一个有用的jpa / hibernate文档上指向我?) 问题答案: 居然撞到了。 如: 确实可行,我认为这是一个错误。参见https://hiberna
问题内容: 我需要一个表来存储一些评分,在此表中,我有一个 综合索引(user_id,post_id) 和其他列来标识不同的评分系统。 在此表中,我没有 主键, 因为 主键 必须是唯一的,而INDEX不必是唯一的,就我而言,唯一性是一个问题。 例如我可以有 缺少PRIMARY KEY可能会导致性能问题?我的表结构好还是需要更改? 谢谢 问题答案: 几点: 听起来您只是在使用表的当前唯一特性,并将其
我正在尝试将下表映射到JPA中。user_tax和税收以及user_tax和用户之间的关系是一对多的。它使我感到困惑,因为我有一个复合主键,我需要将外键映射到这2个键。 错误消息:< code > org . hibernate . annotation exception:mapped by引用未知的目标实体属性:entity。实体中的Tax.user_tax。UserTax.taxs 这是我的