使用hibernate注释映射java对象?

时间:2014-11-17 14:08:26

标签: java hibernate orm

我正在尝试使用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
}

如果有人对可能导致我的问题的任何建议有任何建议,我将非常感激,因为我的映射似乎是正确的,基于我看过的多个例子。谢谢!

0 个答案:

没有答案