如何在JSP页面显示标签时自动带出标签类型表中的类型名称字段

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_22158021/article/details/77001877

问题描述:

两个表之间存在关联,比如,标签表(Label)和标签类型表(LabelType)存在关联,但不使用外键,用户标签表中存有标签类型表的ID(typeId),如何在JSP页面显示标签表的数据时自动带出typeId所对应的标签类型名称呢?


要在页面上显示出该标签类型名称字段,需要在标签表里面声明一个标签类型字段(private LabelType labelType),然后在该字段的getter方法上加上注解
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TYPE_ID",insertable=false,updatable=false)
就能级联获取到typeId对应的标签类型数据。


但是,存在一个问题,就是当我们需要将一个用户标签实例封装成json对象时,需要将用户标签实例进行序列化,但gson在转换时是使用的反射机制,对于另外添加的标签类型字段(private LabelType labelType)无法被识别,将会导致无法将对象成功封装成gson进而转换成json对象。


解决方法:
同样采用注解的方式,需要在该标签类型字段(private LabelType labelType)的getter方法上加上注解
@NotFound(action = NotFoundAction.IGNORE)

展开阅读全文

没有更多推荐了,返回首页