这是Hibernate JPA,Spring相关的问题。
我正在存储int s in mysql. Some of them have int values some of them have null
s。
当我坚持进入db时一切正常,但是当我将值绑定回对象时Integer不会收到null?!和应用程序崩溃:
@Entity
@Table(name="oglas")
public class OglasJPA {
@ManyToOne
@JoinColumn(name="spratnost_objekta_ID")
private SpratnostObjektaJPA spratnostObjekta;
@Entity
@Table(name="spratnost_objekta")
public class SpratnostObjektaJPA {
@Id
@Column(name="idspratnost_objekta")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Column(name="spratnost_objekta")
private Integer spratnost;
@OneToMany(mappedBy="spratnostObjekta")
private List<OglasJPA> listaOglasaZaSpratnostObjekta;
public List<Oglas> getAllOglas(){
List<OglasJPA> listaOglasaJPA = getOglasRepository().getAllOglas();
for(OglasJPA oglasJPA : listaOglasaJPA){
System.out.println(oglasJPA.getSpratnostObjekta().getId());
}
缩短了代码以便于查看。
只要在(11)中db有int值,应用程序就可以工作。当for循环使用嵌套异常java.lang.NullPointerException
命中空程序时非常感谢帮助!
答案 0 :(得分:0)
找到解决方案。 问题是EntityManager尝试检索id为null的Entity。我突然想到表中的值表示一个对象,因为它是另一个表的外键。 try-catch解决了这个问题!仍然不能相信我没有早点意识到这一点。嗯,我想一天7天/ 12小时编码后会发生奇怪的事情!