@Entity
public class ZipCode extends GenericModel {
public String zipCode;
public String townCode;
@ManyToOne(targetEntity=Town.class,fetch=LAZY)
@JoinColumn(referencedColumnName="townCode",name="townCode",nullable=true,insertable=false,updatable=false)
public Town town;
}
@Entity
public class Town extends GenericModel {
public String townCode;
public String townName;
public String cityCode;
@ManyToOne(targetEntity=City.class,fetch=LAZY)
@JoinColumn(referencedColumnName="cityCode",name="cityCode",nullable=true,columnDefinition="city",insertable=false,updatable=false)
public City city;
}
@Entity
public class City extends GenericModel {
public String cityCode;
public String cityName;
public String prefectureCode;
@ManyToOne(targetEntity=Prefecture.class,fetch=LAZY)
@JoinColumn(referencedColumnName="prefectureCode",name="prefectureCode",nullable=true,columnDefinition="prefecture",insertable=false,updatable=false)
public Prefecture prefecture;
}
@Entity
public class Prefecture extends GenericModel {
public String prefectureCode;
public String prefectureName;
}
База данных есть,
ZipCode
zipcode | towncode
111 | 123
222 | 456
Town
towncode | townname | citycode
123 | AAA | 12345
456 | BBB | 67890
789 | CCC | 12345
City
citycode | cityname | prefecturecode
12345 | XXX | 12
67890 | YYY | 34
Prefecture
prefecturecode | prefecturename
12 | MMM
34 | NNN
и выполните это,
List<ZipCode> zipCodes = ZipCode.find("zipcode = 111").<ZipCode>fetch();
и произошла эта ошибка,
org.hibernate.HibernateException: найдено несколько строк с данным идентификатором: Town [null], для класса: models.Town
Я пытаюсь изменить значение базы данных,
Город * * 1016
код города | название города | CityCode
123 | AAA | 12345
456 | BBB | 67890
789 | CCC | 12321
тогда ошибка не произошла ...
но я не хочу менять это значение.
Кто-нибудь знает решение этого?