java中的可序列化可变类型
我有一个标记为Serializable的类,即该类实现Serializable接口。此类有一些类型为Serializable的变量。我无法理解为什么这些变量是可序列化类型。我知道可序列化接口。请把这个概念讲清楚。这将是一个很大的帮助。我的班级是-java中的可序列化可变类型,java,serialization,Java,Serialization,我有一个标记为Serializable的类,即该类实现Serializable接口。此类有一些类型为Serializable的变量。我无法理解为什么这些变量是可序列化类型。我知道可序列化接口。请把这个概念讲清楚。这将是一个很大的帮助。我的班级是- public class DestinationGroups implements java.io.Serializable { private int id; private Serializable name;// why seriali
public class DestinationGroups implements java.io.Serializable {
private int id;
private Serializable name;// why serializable here??
private Serializable description;// why serializable here??
private BigDecimal rating;
private Set destinationses = new HashSet(0);
private Set destinationGroupRatingses = new HashSet(0);
public DestinationGroups() {
}
public DestinationGroups(int id) {
this.id = id;
}
..........other code..............
}
如果要序列化一个类,它的所有属性都必须是可序列化的。使用此用法,您可以保证使所有属性
可序列化
。
如果名称是不可序列化的对象,则无法序列化整个类。什么是序列化?
序列化基本上是将一个对象转换为
字节
,从而使该对象易于保存、共享或流式传输
为什么类中的属性必须可序列化?这意味着,可序列化对象中的所有组件本身都必须是可序列化的,否则将破坏可序列化约定
查找和进一步序列化信息。@JordiCastilla的回答解释了什么是可序列化的,但没有解释它出现在这里的原因 这里真正的问题是Hibernate对
NVARCHAR
的默认映射。在最新版本(即Hibernate 4.2及更高版本)中,NVARCHAR
映射到String
。在旧版本中,Hibernate将NVARCHAR
映射到Serializable
如果您使用Hibernate代码生成插件生成Java代码,那么解决方案是编辑插件的“Hibernate.reveng.xml”,如下所述:
NVARCHAR
有问题,那么此问答可能会有所帮助:
String
或bigdecimic
的东西。至于需要序列化字段:如果你想序列化一个类及其字段,那么字段也必须是可序列化的。原语在默认情况下是可序列化的,而类如BigDecimal
等实现了serializable
。您以前做过哪些研究?如果您“知道”可序列化接口;是什么阻止你搜索互联网?你为什么要我们解释;如果你能研究整个主题。。。你一个人吗?(stackoverlfow的存在不是为了教学,它的存在是为了帮助解决具体问题)。真正的问题(至少对我来说)是为什么nvarchar(max)没有被转换成字符串。这正是我想要的。谢谢@Stephen CYou实际上无法编译该应用程序。