# Could not determine type for: java.util.List, for columns



## ARadauer (11. Okt 2008)

ich hätte mich an einer bidirektionalen many to many verknüfpfung mit hibernate versucht:


```
package at.emeroo.core.model;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;

@Entity
public class Reseller {
	
	private Integer resellerId;
	
	private String name;
	
	private List<User> user;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	public Integer getResellerId() {
		return resellerId;
	}

	public void setResellerId(Integer resellerId) {
		this.resellerId = resellerId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@ManyToMany(mappedBy="reseller")
	public List<User> getUser() {
		return user;
	}

	public void setUser(List<User> user) {
		this.user = user;
	}
}
```


```
package at.emeroo.core.model;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;

@Entity
public class User {
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private Integer userId;
	
	private String userName;
	private String fullName;
	private String password;
	
	private List<Reseller> reseller;

	public Integer getUserId() {
		return userId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getFullName() {
		return fullName;
	}

	public void setFullName(String fullName) {
		this.fullName = fullName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	@ManyToMany
	@JoinTable(name = "reseller2User",
			joinColumns = {@JoinColumn(name = "userFk")},
			inverseJoinColumns = {@JoinColumn(name = "resellerFk")})
	public List<Reseller> getReseller() {
		return reseller;
	}

	public void setReseller(List<Reseller> reseller) {
		this.reseller = reseller;
	}
	
}
```

ich bekomm aber diese fehlermeldung



> aused by: org.hibernate.MappingException: Could not determine type for: java.util.List, for columns: [org.hibernate.mapping.Column(reseller)]
> at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:266)
> at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:253)
> at org.hibernate.mapping.Property.isValid(Property.java:185)
> at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:410)


waran könnte das liegen?


----------



## ARadauer (11. Okt 2008)

mein Gott!!! weil ich 
das Id 
   @GeneratedValue(strategy=GenerationType.AUTO) 
   private Integer userId; 

nicht über der getter methode hatte, das hätte auch aus der fehlermeldung klarer hervorgehen können!

das hat mich jetzt 2 stunden gekostest!
ich weiß nicht, warm alle immer so von hibernate schwärmen.. in 2 stunden kann ich sehr viel jdbc code schreiben


----------



## Gelöschtes Mitglied 5909 (11. Okt 2008)

naja entweder über die Attribute oder über die Methoden, beides mischen ist nicht so gut denk ich


----------



## ARadauer (12. Okt 2008)

jetzt hab ich noch keine kleine frage zum HibernateDaoSupport von  Spring...

müsste das nicht funktionieren?


```
List<Reseller> result = getHibernateTemplate().find("from Reseller r where r.user= ?", user);
```



> Expected positional parameter count: 1, actual parameters: [Andreas] [from Reseller r where r.user = ?]



das funktioniert...

```
List<Reseller> result = getHibernateTemplate().find("from Reseller r where r.user.userId = ?", user.getUserId());
```


----------

