【发布时间】:2018-05-09 20:44:55
【问题描述】:
我正在重新学习 Hibernate 和 JPA。我在我的环境中使用 Spring Boot、Gradle 和 Postgres。我有一组访问 Postgres 数据库的域对象。两个对象不使用注解,使用 JDBCTemplate 类进行数据库操作。另一组域对象使用 JPA 注释。 JPA 对象集具有使用 JPA 注释映射出来的关系。当我运行单元测试以检查 JDBC 模板对象的数据库实体时,一切都很好。当我检查数据库时,我发现我有使用注释的那些域对象的重复实体。
我已查看我的注释和项目设置,但未能成功找到我的错误。
这是我的类定义:
import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
@Entity(name="AcceptanceCriteria")
@Table(name="accCriteria_tbl", schema="ia_req_changes")
@SequenceGenerator(name="AcceptCritera_SEQ_GEN", schema="ia_req_changes", sequenceName = "accCriteria_tbl_accCri_id_seq", initialValue = 1, allocationSize = 1)
public class AcceptanceCriteria implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="AcceptCritera_SEQ_GEN")
@Column(name="accCri_id", updatable = false)
private Long accCri_id;
@Column(name="accAction")
private String accAction;
@Column(name="accControl")
private String accControl;
@Column(name="accAccptCriteria")
private String accAccptCriteria;
@Column(name="lastModified")
private Timestamp lastModified;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "FK_funcReq_id", referencedColumnName = "funcReq_id")
private FunctionalRequirement functionalReq;
public AcceptanceCriteria() {
}
这是来自 Postgres 的表格。明显的区别是我使用 DDL 创建的表是具有大写表名的表。
任何建议或建议将不胜感激。
谢谢,
罗斯
【问题讨论】:
标签: hibernate jpa case-sensitive case-insensitive