我正在尝试使用Hibernate映射两个Java类。当我编译时,我收到以下错误:
引起:org.h2.jdbc.JdbcSQLException:Column" COMMENTS0_.DELETED"没找到;
与许多示例相比,一切似乎都是正确的,但我的映射中显然存在错误。这是我的代码:
SQL
-- Table 'TEST_STEP_COMMENT'
CREATE TABLE IF NOT EXISTS `TEST_STEP_COMMENT` (
`id` BIGINT NULL DEFAULT NULL AUTO_INCREMENT,
`test_step_comment` TEXT NOT NULL,
`date` DATETIME NOT NULL,
`test_step_id` BIGINT NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `FK_TEST_STEP_COMMENT_TEST_STEPS`
FOREIGN KEY (`test_step_id`)
REFERENCES `TEST_STEPS` (`id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT);
CREATE INDEX `FK_TEST_STEP_COMMENT_TEST_STEPS_idx` ON `TEST_STEP_COMMENT` (`test_step_id` ASC);
CREATE TABLE IF NOT EXISTS `TEST_STEPS` (
`id` BIGINT NULL DEFAULT NULL AUTO_INCREMENT,
`deleted` BOOLEAN NULL DEFAULT FALSE,
`execute` LONGTEXT NOT NULL,
`sequence_order` INT NOT NULL,
`test_case_id` BIGINT NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `FK_TEST_STEPS_TEST_CASES`
FOREIGN KEY (`test_case_id`)
REFERENCES `TEST_CASES` (`id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT);
CREATE INDEX `FK_TEST_STEPS_TEST_CASES_idx` ON `TEST_STEPS` (`test_case_id` ASC);
JAVA
@Entity
@Audited
@Table(name = "TEST_STEPS")
public class TestStep
extends AuditedEntity
implements Identifiable<Long>, Ordered<Integer>, Comparable<TestStep> {
@Id
@GeneratedValue
private Long id;
@ManyToOne(optional = false)
@JoinColumn(name = "test_case_id")
private TestCase testCase;
@Column(name = "execute", nullable = false)
private String execute;
@OneToMany(mappedBy = "testStep", cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@Filter(name = "deletedEntityFilter")
private Set<VerifyStep> verifications = Sets.newLinkedHashSet();
@Column(name = "sequence_order", nullable = false)
private Integer sequenceOrder = 0;
@OneToMany(mappedBy = "testStep", cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private Set<TestStepComment> comments = Sets.newLinkedHashSet();
@Column(name = "result")
private Integer result;
@Column(name = "data")
private String data;
//getters/setters etc
}
@Entity
@Audited
@Table(name = "TEST_STEP_COMMENT")
public class TestStepComment
extends AuditedEntity
implements Identifiable<Long>{
@Id
@GeneratedValue
private Long id;
@ManyToOne(optional = false)
@JoinColumn(name = "test_step_id")
private TestStep testStep;
@Column(name = "test_step_comment")
private String comment;
@Column(name = "date")
private Date date;
@Override
public Long getId() {
return id;
//getters/setters etc
}
如果有人对可能导致我的问题的任何建议有任何建议,我将非常感激,因为我的映射似乎是正确的,基于我看过的多个例子。谢谢!