Hibernate映射异常:无法确定列的类型-请重试
我得到一个简单JPA注释的Hibernate映射异常。这是非常简单的一对一关联。 一切都使用JPA注释,因此没有xml配置 以下是异常消息: 无法确定列:[org.hibernate.mapping.Column(physicalAddress)]的表:Company中的:nz.co.threepoints.ps.domain.Address的类型 我知道如果混合使用字段和方法注释,可能会出现此异常,但在我的情况下,我只使用字段注释: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 {
@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通过查看其他示例来解决这个问题。这么简单,我想它不需要它。