Hibernate 混合JPA实体和Grails GORM实体
现有的Grails项目需要重用一些JPA实体,并且需要GORM和JPA实体之间的交叉引用。我在尝试从GORM实体到JPA进行一对多时遇到了一些问题。以下是一个例子: GORM实体:Hibernate 混合JPA实体和Grails GORM实体,hibernate,jpa,grails,gorm,Hibernate,Jpa,Grails,Gorm,现有的Grails项目需要重用一些JPA实体,并且需要GORM和JPA实体之间的交叉引用。我在尝试从GORM实体到JPA进行一对多时遇到了一些问题。以下是一个例子: GORM实体: class Person { String firstName static hasMany = [addresses: Address] static mappedBy = [addresses: 'person'] static mapping = { firstName
class Person {
String firstName
static hasMany = [addresses: Address]
static mappedBy = [addresses: 'person']
static mapping = {
firstName column: 'First_Name'
addresses column: 'person_id'
}
}
JPA实体
@Entity
public class Address {
@Id
@GeneratedValue
private Long id;
@Column(name="num")
private String number;
@Column(name="code")
private String postCode;
@NotNull
@ManyToOne(cascade= CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name="person_id")
private Person person;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getPostCode() {
return postCode;
}
public void setPostCode(String postCode) {
this.postCode = postCode;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Person getPerson(){
return person;
}
public void setPerson(Person person){
this.person = person;
}
}
休眠映射
<!DOCTYPE hibernate-configuration SYSTEM
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<mapping package="test" />
<mapping class="test.Address" />
</session-factory>
</hibernate-configuration>
mappedBy似乎没有任何区别,“addresses”列名称似乎被忽略
如果Person和Address类都是GORM实体,那么它可以正常工作
该项目使用Grails2.1.5。是否可以从GORM中引用JPA实体
提前谢谢
Caused by MappingException: Missing type or column for
column[addresses_address] on domain[Person] referencing[test.Address]