Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate映射异常:无法确定列的类型-请重试_Hibernate_Hibernate Mapping - Fatal编程技术网

Hibernate映射异常:无法确定列的类型-请重试

Hibernate映射异常:无法确定列的类型-请重试,hibernate,hibernate-mapping,Hibernate,Hibernate Mapping,我得到一个简单JPA注释的Hibernate映射异常。这是非常简单的一对一关联。 一切都使用JPA注释,因此没有xml配置 以下是异常消息: 无法确定列:[org.hibernate.mapping.Column(physicalAddress)]的表:Company中的:nz.co.threepoints.ps.domain.Address的类型 我知道如果混合使用字段和方法注释,可能会出现此异常,但在我的情况下,我只使用字段注释: @Entity public class Address {

我得到一个简单JPA注释的Hibernate映射异常。这是非常简单的一对一关联。 一切都使用JPA注释,因此没有xml配置

以下是异常消息:

无法确定列:[org.hibernate.mapping.Column(physicalAddress)]的表:Company中的:nz.co.threepoints.ps.domain.Address的类型

我知道如果混合使用字段和方法注释,可能会出现此异常,但在我的情况下,我只使用字段注释:

@Entity
public class Address {
    @Id
    @GeneratedValue
    private Long id;

    private String streetNumber;
    private String streetLine1;
    private String streetLine2;
   // getters and setters
}
以及公司类型:

@Entity
public class Company {
    @Id
    @GeneratedValue
    private Long id;

    private Address physicalAdress;

    // getters and setters
}
映射对我来说似乎很简单,但出于某种原因,即使我使用不同的类型(如用户),我也会遇到这种类型的异常

我正在使用
Hibernate 4.3.8.Final
Hibernate-jpa-2.1-api

下面是我的依赖关系的一个片段:

<!-- hibernate -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.3.8.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.1-api</artifactId>
            <version>1.0.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.3.8.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>${hibernate.validator.version}</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-infinispan</artifactId>
            <version>4.3.8.Final</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.jbossts</groupId>
            <artifactId>jbossjta</artifactId>
            <version>4.16.6.Final</version>
        </dependency>

他们改变了游戏规则吗?

你需要提到
公司中
地址
类的映射

@ManyToOne
@JoinColumn(name = "address_id") //column name in company table
private Address physicalAddress;

您需要提到
公司中
地址
类的映射

@ManyToOne
@JoinColumn(name = "address_id") //column name in company table
private Address physicalAddress;

也许可以帮助你。也许可以帮助你。这是一对一的映射,没有连接表。使用@OneToOne annotationYes,kind o通过查看其他示例来解决这个问题。这么简单,虽然它不需要它。它是一对一的映射,没有连接表。使用@OneToOne annotationYes,kind o通过查看其他示例来解决这个问题。这么简单,我想它不需要它。