标签: serializable

Hibernate表类需要是Serializable吗?

我继承了一个使用Hibernate 3.0连接到SQL Server数据库的Websphere Portal项目.

这个项目中大约有130个Hibernate表类.它们都实现了Serializable.它们都没有声明serialVersionUID字段,因此Eclipse IDE会显示所有这些类的警告.

这些类是否真的需要实现Serializable?
如果是这样,是否有任何工具可以同时将生成的serialVersionUID字段添加到大量类中(只是为了使警告消失)?

java orm hibernate serializable

48
推荐指数
3
解决办法
4万
查看次数

在Serializable C#类上使用XmlArrayItem属性而不使用XmlArray

我想要XML格式如下:

<configuration><!-- Only one configuration node -->
  <logging>...</logging><!-- Only one logging node -->
  <credentials>...</credentials><!-- One or more credentials nodes -->
  <credentials>...</credentials>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个Configuration具有该[Serializable]属性的类.要序列化凭据节点,我有以下内容:

[XmlArray("configuration")]
[XmlArrayItem("credentials", typeof(CredentialsSection))]
public List<CredentialsSection> Credentials { get; set; }
Run Code Online (Sandbox Code Playgroud)

但是,当我将其序列化为XML时,XML的格式如下:

<configuration>
  <logging>...</logging>
  <configuration><!-- Don't want credentials nodes nested in a second
                      configuration node -->
    <credentials>...</credentials>
    <credentials>...</credentials>
  </configuration>
</configuration>
Run Code Online (Sandbox Code Playgroud)

如果我删除该[XmlArray("configuration")]行,我会得到以下内容:

<configuration>
  <logging>...</logging>
  <Credentials><!-- Don't want credentials nodes nested in Credentials node -->
    <credentials>...</credentials>
    <credentials>...</credentials>
  </Credentials>
</configuration>
Run Code Online (Sandbox Code Playgroud)

如何<credentials>在单根节点中使用多个节点以我想要的方式对其进行序列化<configuration>?我想这样做而不必实现 …

c# xml xml-serialization serializable xml-deserialization

48
推荐指数
1
解决办法
4万
查看次数

如何将ArrayList <CustomeObject>从一个活动传递到另一个活动?

我想将以下ArrayList从一个活动发送到另一个活动请帮忙.

ContactBean m_objUserDetails = new ContactBean();
ArrayList<ContactBean> ContactLis = new ArrayList<ContactBean>(); 
Run Code Online (Sandbox Code Playgroud)

我在如下添加数据后发送上面的arraylist

  Intent i = new Intent(this,DisplayContact.class);
  i.putExtra("Contact_list", ContactLis);
  startActivity(i);
Run Code Online (Sandbox Code Playgroud)

但是我在恢复时遇到了问题.

ArrayList<ContactBean> l1 = new ArrayList<ContactBean>();
Bundle wrapedReceivedList = getIntent().getExtras();
l1= wrapedReceivedList.getCharSequenceArrayList("Contact_list");
Run Code Online (Sandbox Code Playgroud)

此时我收到此错误:

Type mismatch: cannot convert from ArrayList<CharSequence> to ArrayList<ContactBean>
Run Code Online (Sandbox Code Playgroud)

我的ContactBean类实现了Serializable,也请告诉我们为什么要实现可序列化的接口.

android bundle serializable android-intent

48
推荐指数
4
解决办法
11万
查看次数

如何添加类型约束以包含可在通用方法中序列化的任何内容?

我的泛型方法需要序列化传递给它的对象,但只是坚持它实现ISerializable似乎不起作用.例如,我有一个从Web服务(标记为SerializableAttribute)返回的结构,它可以很好地序列化为xml,但正如预期的那样,C#编译器会抱怨.

有没有办法在尝试序列化之前检查对象是否可序列化,或者更好的是,使用where关键字检查对象的方法是否合适?

这是我的完整方法:

public static void Push<T>(string url, T message)
        where T : ISerializable
{
    string xml = SerializeMessage(message);

    // Send the message to Amazon SQS
    SendMessageRequest sendReq = new SendMessageRequest { QueueUrl = url, MessageBody = xml };
    AmazonSQSClient client = new AmazonSQSClient(S3User, S3Pass);
    client.SendMessage(sendReq);
}
Run Code Online (Sandbox Code Playgroud)

和SerializeMessage:

private static string SerializeMessage<T>(T message)
{
    XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
    using (StringWriter stringWriter = new StringWriter())
    {
        xmlSerializer.Serialize(stringWriter, message);
        return stringWriter.ToString();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果这不可能,那么在运行时检查对象是否可序列化的最佳方法是什么?

c# generics attributes serializable

43
推荐指数
2
解决办法
1万
查看次数

便携式类库:推荐替代[Serializable]

我正在将.NET Framework C#类库移植到可移植类库.一个反复出现的问题是如何处理使用该[Serializable]属性修饰的类,因为此属性不是可移植类库子集的一部分.相反,可移植类库子集中的序列化功能似乎由DataContractAttribute覆盖.

  • 为了在可移植类库中保留尽可能多的功能,[Serializable][DataContract]属性替换就足够了(暗示所有需要序列化的字段和属性也需要进行修饰[DataMember])?
  • 什么(如果有的话)我无法用这种方法做我可以做的[Serializable]应用?
  • 是否有一种侵入性较小的方法?

鉴于[DataContract][DataMember]使用,我正在考虑改变代码沿着以下行.这种方法有明显的缺陷吗?有没有办法制定同样的东西,而不是那么冗长?

#if PORTABLE
    [DataContract]
#else
    [Serializable]
#endif
    public class SerializableClass : SerializableBaseClass
    {
       ...
#if !PORTABLE
        protected SerializableClass(SerializationInfo info, StreamingContext context)
             : base(info, context)
        {
        }
#endif
        ...
#if PORTABLE
        [DataMember]
#endif
        private Type1 _serializableField;

#if PORTABLE
        [DataMember]
#endif
        private Type2 SerializableProperty { get; set; }

        ...
    }
Run Code Online (Sandbox Code Playgroud)

c# serialization datacontract serializable portable-class-library

43
推荐指数
2
解决办法
3万
查看次数

为什么我总是要做我的例外[serializable]?(.净)

参考什么是使自定义.NET异常可序列化的正确方法?
并且所有.NET异常都可序列化吗?...

为什么我的例外可以序列化?
如果由第三方库定义的自定义异常不可序列化,有人说"它可以被视为一个bug".为什么?

为什么异常在这方面与其他类别不同?

.net exception serializable

39
推荐指数
1
解决办法
4816
查看次数

GWT - 偶尔会出现com.google.gwt.user.client.rpc.SerializationException

我们偶尔会遇到例外情况,例如:

com.google.gwt.user.client.rpc.SerializationException:类型"xxx"无法分配给"com.google.gwt.user.client.rpc.IsSerializable",并且没有自定义字段序列化程序.出于安全考虑,此类型不会序列化:com.google.gwt.user.client.rpc.impl中的com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:610)中的instance = xxx .AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:129)维持在com.google.gwt.user.server com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter $ ValueWriter $ 8.write(ServerSerializationStreamWriter.java:152). rpc.impl.ServerSerializationStreamWriter.serializeValue(ServerSerializationStreamWriter.java:534)位于com.google.gwt.user.server.rpc.RPC.encodeResponse(RPC.java:609)位于com.google.gwt.user.server.rpc.RPC.encodeResponseForSuccess(RPC.java:467)com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.的java:564)在com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)在de.softconex.travicemanager.server.TraviceManagerServiceImpl.processCall(TraviceManagerServiceImpl.java:615)在com.google .gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)在com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)在javax.servlet.http.HttpServlet .service(HttpServlet.java:710)位于org.apache.catalina.core.ApplicationFilterChain的javax.servlet.http.HttpServlet.service(HttpServlet.java:803).internalDoFilter(ApplicationFilterChain.java:290)在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)在org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)在组织位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)的.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve) .java:230)在org.jboss的org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179). org.apache.catalina上的web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84).core.StandardHostValve.invoke(StandardHostValve.java:127)在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)在org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve. java:157)org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)at org.apache.coyote.ajp .AjpAprProcessor.process(AjpAprProcessor.java:419)在org.apache.coyote.ajp.AjpAprProtocol $ AjpConnectionHandler.process(AjpAprProtocol.java:378)在org.apache.tomcat.util.net.AprEndpoint $ Worker.run(AprEndpoint .java:1508)在java.lang.Thread.run(Thread.java:619)调用(ErrorReportValve.java:102)在org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)在org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)在org.apache.coyote.ajp.AjpAprProtocol $ AjpConnectionHandler .process(AjpAprProtocol.java:378)atg.apache.tomcat.util.net.AprEndpoint $ Worker.run(AprEndpoint.java:1508)at java.lang.Thread.run(Thread.java:619)调用(ErrorReportValve.java:102)在org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)在org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)在org.apache.coyote.ajp.AjpAprProtocol $ AjpConnectionHandler .process(AjpAprProtocol.java:378)atg.apache.tomcat.util.net.AprEndpoint $ Worker.run(AprEndpoint.java:1508)at java.lang.Thread.run(Thread.java:619)connector.CoyoteAdapter.service(CoyoteAdapter.java:262)在org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)在org.apache.coyote.ajp.AjpAprProtocol $ AjpConnectionHandler.process(AjpAprProtocol.java: 378)atg.apache.tomcat.util.net.AprEndpoint $ Worker.run(AprEndpoint.java:1508)at java.lang.Thread.run(Thread.java:619)connector.CoyoteAdapter.service(CoyoteAdapter.java:262)在org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)在org.apache.coyote.ajp.AjpAprProtocol $ AjpConnectionHandler.process(AjpAprProtocol.java: 378)atg.apache.tomcat.util.net.AprEndpoint $ Worker.run(AprEndpoint.java:1508)at java.lang.Thread.run(Thread.java:619)

该应用程序通常正常运行.指示的类实现Serializable(整个对象图).

到目前为止,唯一的模式/观察是:

  • 我们似乎只有在iframe中使用应用程序时才会遇到问题

  • 当部署了新版本的应用程序时,似乎会出现问题

  • 在隐私模式下运行firefox(禁用所有缓存等)并不能解决问题

有任何想法吗?

霍尔格

gwt serializable gwt-rpc

39
推荐指数
5
解决办法
5万
查看次数

在Java中实现Serializable的惩罚?

是否有罚款加

implements Serializable
Run Code Online (Sandbox Code Playgroud)

到Java类?对实例化对象或性能大小的影响?

java performance serializable

35
推荐指数
3
解决办法
3493
查看次数

为什么Java.lang.Object没有实现Serializable接口?

可能重复:
为什么Java需要Serializable接口?

根据Java docs中的Serializability:

实现java.io.Serializable接口的类启用了类的可序列化.未实现此接口的类将不会将其任何状态序列化或反序列化.可序列化类的所有子类型本身都是可序列化的.序列化接口没有方法或字段,仅用于标识可序列化的语义

为什么Object没有实现Serializable?我们不希望可序列化的成员可以被制作为transient.为什么要阻止默认的Serializability?

java serializable

35
推荐指数
3
解决办法
2万
查看次数

android中使用的Parcelable和Serialization有什么区别

我想知道确切的,

  1. 我是应该使用parcelable还是serialization技术将数据从一个活动发送到另一个活动?
  2. 是否必须使用其中一个将数据从一个发送到另一个?
  3. 我应该什么时候使用它们?
  4. 以及它们与java方面的性能之间的确切差异.

提前致谢.


 public class GetSetClass implements Serializable {
    private int dt = 10;

    /** pass any object, drwabale */
    public int getDt() {
        return dt;
    }

    public void setDt(int dt) {
        this.dt = dt;
    }
}
Run Code Online (Sandbox Code Playgroud)

android serializable parcelable

32
推荐指数
3
解决办法
2万
查看次数