Ich habe kürzlich an Hibernate und MVC gearbeitet. Ich habe verschiedene Tutorial und Versuch folgte eine Many-to-many-Beziehung zu tun, aber ich halte die folgende Fehlermeldung erhalten:Spring + Hibernate Konnte den Typ nicht bestimmen Set
Caused by: org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: Group, for column
In meinem Servlet-context.xml, ich habe folgendes:
<beans:list>
<beans:value>com.model.Account</beans:value>
<beans:value>com.model.Group</beans:value>
</beans:list>
In meinem Group.class ich habe folgendes:
@Entity
@Table(name="Group")
public class Group {
@Id
@Column(name="group_id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String objectId;
private String groupName;
private Set<Account> accountList = new HashSet<Account>();
// ... Getters and setters
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name="objectId", [email protected](name="group_id"),
[email protected](name="objectId"))
public Set<Account> getAccountList() {
return accountList;
}
}
AKTUALISIERT
Account.clas s
@Entity
@Table(name="Account")
public class Account {
@Column(name="id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@Id
private String objectId;
@ManyToMany(cascade=CascadeType.ALL, mappedBy="accountList")
private Set<Group> groupList = new HashSet<Group>();
//...Getters and Setters
Group.class
@Entity
@Table(name="Group")
public class Group {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String objectId;
private String groupName;
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name="objectId", [email protected](name="group_id"),
[email protected](name="objectId"))
private Set<Account> accountList = new HashSet<Account>();
}
Jetzt bekomme ich folgende Fehlermeldung jedes Mal, wenn ich versuche, von der DAO Implementierung zu speichern:
Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: Duplicate entry '1' for key 'PRIMARY'; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Duplicate entry '1' for key 'PRIMARY'
Ich glaube, dass das Set verursacht das Problem, aber verschiedene Tutorials waren in der Lage, es zu erreichen, gibt es einige zusätzliche Prozedur, die ich tun muss.
Hallo, ich erhalte eine neue Mapping-Ausnahme für den Fremdschlüssel. Habe ich meine Anmerkungen für die Feldebene auf der Account.class falsch gemacht? Siehe den AKTUALISIERTEN Abschnitt – user288231
Können Sie den relevanten Code Ihrer DAO-Implementierung teilen? –
Ich habe das Problem behoben. Ich musste ein @ JsonIgnore machen, es stürzte ab, weil es in eine Endlosschleife ging. Vielen Dank! – user288231