在tablename上使用hibernate JPA奇怪的前缀

时间:2017-05-29 09:39:14

标签: java spring hibernate jpa mariadb

您好我正在使用spring,liquibase,mariadb和JPA的hibernate。我刚刚遇到一个奇怪的错误,我猜这可能是hibernate中的一个错误,但我并不完全确定。

我有两个人:

@Entity
@Table(name = "portal")
public class Portal 
{
    ...
    @OneToMany(cascade = {CascadeType.ALL}, fetch = FetchType.LAZY)
    private Set<AuthorisationCode> authorisationCodes = new HashSet<>();
    ...
 }

@Entity
public class AuthorisationCode
{
    ...
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "clientid", referencedColumnName = "id")
    private Portal client;
    ...
}

当然还有一个简单的存储库

@Repository
public interface PortalDao extends JpaRepository<Portal, Long>{}

如果我现在创建一个portal-object并尝试保存而不添加任何授权代码我会收到以下错误

portalDao.save(portal);

=&GT;

org.mariadb.jdbc.internal.util.dao.QueryException: Table 'mysqlschema.portal_authorisationcode' doesn't exist

为什么hibernate添加前缀&#34; portal _&#34;查询?我甚至不确定为什么hibernate在调用save方法时甚至会做一个select。有什么想法吗?

0 个答案:

没有答案