如何解决使用 Protobuf 定义类作为 Hibernte 实体类:org.hibernate.MappingException
假设下面的简单实体
- 表名:学生
- 列:id,名称
- StudentOuterClass$Student$Builder
- StudentOuterClass$Student
StudentOuterClass 是包装类。
因此我尝试使用 XML 配置方法进行映射,如下所示
<entity class="student.StudentOuterClass$Student" name="Student" >
<table name="Student"/>
<attributes>
<id name="id_">
<column name="id" />
</id>
<basic name="name_">
<column name="name" length="30"/>
</basic>
</attributes>
</entity>
但是,在尝试映射时,我收到以下异常。
Exception in thread "main" org.hibernate.MappingException: property mapping has wrong number of columns: currency.StudentOuterClass$Student.name_ type: object
自动生成的 Protobuf 类是一个不可变的类,提供了 Builder 来创建实例。它在内部将成员保存为对象类型 - 'private volatile java.lang.Object name_;'
有没有办法解决这个异常?
或者由于我们使用反射并访问内部字段,还有其他更好的方法可以通过 Builder 进行这种映射吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。