整数没有从Mysql接收Null值 - Hibernate / JPA。 Java Spring?

时间:2015-06-19 17:24:06

标签: java mysql hibernate spring-mvc

这是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

命中空程序时

非常感谢帮助!

1 个答案:

答案 0 :(得分:0)

找到解决方案。 问题是EntityManager尝试检索id为null的Entity。我突然想到表中的值表示一个对象,因为它是另一个表的外键。 try-catch解决了这个问题!仍然不能相信我没有早点意识到这一点。嗯,我想一天7天/ 12小时编码后会发生奇怪的事情!