繁体   English   中英

整数未从 Mysql - Hibernate/JPA 接收 Null 值。 爪哇春天?

[英]Integer not receiving Null value from Mysql - Hibernate/JPA . Java Spring?

这是 Hibernate JPA,Spring 相关问题。

s in mysql. Some of them have int values some of them have null存储 int s in mysql. Some of them have int values some of them have null 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());
}

代码被缩短以便于审查。

只要来自 db 的 in(11) 具有 int 值,应用程序就可以工作。 当 for 循环使用嵌套异常 java.lang.NullPointerException 遇到 null 程序中断时

非常感谢帮助!

找到了解决办法。 问题是 EntityManager 尝试检索 id 为 null 的实体。 我忘记了表中的值代表一个对象,因为它是另一个表的外键。 try-catch 解决了问题! 仍然无法相信我没有早点意识到这一点。 好吧,我想每天编码 7 天/12 小时后会发生奇怪的事情!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM