随笔 - 0, 文章 - 1, 评论 - 0, 引用 - 0
数据加载中……

在manytomany中遇到的Could not determine type for错误

package model;

import java.util.Collection;

import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;

import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;


@Entity
public class UserInfo {

 @Id
 private int id;
 
 @Basic
 private String username;
 
 @ManyToMany
 @JoinTable(name="userinfo_address",
   joinColumns=@JoinColumn(name="userinfo_id"),
   inverseJoinColumns=@JoinColumn(name="address_id"))
 @Fetch(FetchMode.JOIN)
 private Collection<Address> address;

 
 public Collection<Address> getAddress() {
  return address;
 }

 public void setAddress(Collection<Address> address) {
  this.address = address;
 }
...........
}

参照官方文档将
 @ManyToMany
 @JoinTable(name="userinfo_address",
   joinColumns=@JoinColumn(name="userinfo_id"),
   inverseJoinColumns=@JoinColumn(name="address_id"))
 @Fetch(FetchMode.JOIN)
放在public Collection<Address> getAddress()上将出错,郁闷
Caused by: org.hibernate.MappingException: Could not determine type for: java.util.Collection, for columns: [org.hibernate.mapping.Column(address)]

解决方法:将这些注记放在字段上就OK了

posted on 2007-02-25 11:40 郁望 阅读(1810) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: