JPA不接受@table(name =“table”)

时间:2016-02-11 02:00:56

标签: mysql hibernate jpa

 HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
 RestTemplate restTemplate = new RestTemplate(factory);

这给我一个错误:表'Feedback.coach_mark'不存在

package com.pearson.feedback.domain;


import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "CoachMark")
public class CoachMark {

    @Id
    private long coachMarkId;

    public long getCoachMarkId() {
        return coachMarkId;
    }

    public void setCoachMarkId(long coachMarkId) {
        this.coachMarkId = coachMarkId;
    }
}

我无法弄清楚为什么它没有使用我的表名。你会怎么做?

2 个答案:

答案 0 :(得分:0)

只需添加hibernate-jpa-2.0.jar,然后重试。可能是由于JPA配置问题。 然后请确保表名拼写正确,因为MySQL正在使用lower_case_table_names的 case sensitive 表名比较设置(可能是值'0')。

答案 1 :(得分:0)

这可能是众多可能原因之一:

只需检查hibernate.cfg.xml hbm2ddl.auto属性

如果是

<property name="hbm2ddl.auto">create</property>

然后将其更改为

<property name="hibernate.hbm2ddl.auto">create</property>

N.B。:属性可以是createupdate